#0: 20% WA (line:1)
您的答案為: 10554658463
正確答案為: 11054815495
#1: 20% WA (line:1)
您的答案為: 10561829293
正確答案為: 11056408715
#2: 20% WA (line:1)
您的答案為: 10577886756
正確答案為: 11074069785
#3: 20% WA (line:1)
您的答案為: 10539761853
正確答案為: 11030734525
#4: 20% WA (line:1)
您的答案為: 10563770293
正確答案為: 11064734227
RESULT: NA (0%)
#0: 20% WA (line:1) 您的答案為: 10554658463 正確答案為: 11054815495 #1: 20% WA (line:1) 您的答案為: 10561829293 正確答案為: 11056408715 #2: 20% WA (line:1) 您的答案為: 10577886756 正確答案為: 11074069785 #3: 20% WA (line:1) 您的答案為: 10539761853 正確答案為: 11030734525 #4: 20% WA (line:1) 您的答案為: 10563770293 正確答案為: 11064734227 RESULT: NA (0%) #include #include #include using namespace std; #define N 200005 #define E INT_MAX int main() { int n, h[N], p[N], arr[N]; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); while (cin >> n) { for (int i = 1; i <= n; ++i) { cin >> h[i]; } for (int i = 1; i <= n; ++i) { cin >> p[i]; arr[i] = h[i] + p[i]; } h[0] = E; arr[0] = E; multimap<int, int> mm; // (value, key) unsigned long long total = 0; for (int i = n; i >=0; --i) { auto it = mm.begin(); while (it != mm.end() and it->first < h[i]) { total += it->second - i - 1; it = mm.erase(it); } mm.insert({ arr[i], i }); } //mm.size() == 1 ? cout << "1\n" : cout << "NOT\n"; cout << total << endl; } }
範例測資有過 但其他 WA >.<
#0: 20% WA (line:1)
您的答案為: 10554658463
正確答案為: 11054815495
#1: 20% WA (line:1)
您的答案為: 10561829293
正確答案為: 11056408715
#2: 20% WA (line:1)
您的答案為: 10577886756
正確答案為: 11074069785
#3: 20% WA (line:1)
您的答案為: 10539761853
正確答案為: 11030734525
#4: 20% WA (line:1)
您的答案為: 10563770293
正確答案為: 11064734227
RESULT: NA (0%)
#0: 20% WA (line:1) 您的答案為: 10554658463 正確答案為: 11054815495 #1: 20% WA (line:1) 您的答案為: 10561829293 正確答案為: 11056408715 #2: 20% WA (line:1) 您的答案為: 10577886756 正確答案為: 11074069785 #3: 20% WA (line:1) 您的答案為: 10539761853 正確答案為: 11030734525 #4: 20% WA (line:1) 您的答案為: 10563770293 正確答案為: 11064734227 RESULT: NA (0%) #include #include #include using namespace std; #define N 200005 #define E INT_MAX int main() { int n, h[N], p[N], arr[N]; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); while (cin >> n) { for (int i = 1; i <= n; ++i) { cin >> h[i]; } for (int i = 1; i <= n; ++i) { cin >> p[i]; arr[i] = h[i] + p[i]; } h[0] = E; arr[0] = E; multimap<int, int> mm; // (value, key) unsigned long long total = 0; for (int i = n; i >=0; --i) { auto it = mm.begin(); while (it != mm.end() and it->first < h[i]) { total += it->second - i - 1; it = mm.erase(it); } mm.insert({ arr[i], i }); } //mm.size() == 1 ? cout << "1\n" : cout << "NOT\n"; cout << total << endl; } }
範例測資有過 但其他 WA >.<
可是我複製貼上你ㄉ扣就AC了ㄝ:/
#0: 20% WA (line:1)
您的答案為: 10554658463
正確答案為: 11054815495
#1: 20% WA (line:1)
您的答案為: 10561829293
正確答案為: 11056408715
#2: 20% WA (line:1)
您的答案為: 10577886756
正確答案為: 11074069785
#3: 20% WA (line:1)
您的答案為: 10539761853
正確答案為: 11030734525
#4: 20% WA (line:1)
您的答案為: 10563770293
正確答案為: 11064734227
RESULT: NA (0%)
#0: 20% WA (line:1) 您的答案為: 10554658463 正確答案為: 11054815495 #1: 20% WA (line:1) 您的答案為: 10561829293 正確答案為: 11056408715 #2: 20% WA (line:1) 您的答案為: 10577886756 正確答案為: 11074069785 #3: 20% WA (line:1) 您的答案為: 10539761853 正確答案為: 11030734525 #4: 20% WA (line:1) 您的答案為: 10563770293 正確答案為: 11064734227 RESULT: NA (0%) #include #include #include using namespace std; #define N 200005 #define E INT_MAX int main() { int n, h[N], p[N], arr[N]; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); while (cin >> n) { for (int i = 1; i <= n; ++i) { cin >> h[i]; } for (int i = 1; i <= n; ++i) { cin >> p[i]; arr[i] = h[i] + p[i]; } h[0] = E; arr[0] = E; multimap<int, int> mm; // (value, key) unsigned long long total = 0; for (int i = n; i >=0; --i) { auto it = mm.begin(); while (it != mm.end() and it->first < h[i]) { total += it->second - i - 1; it = mm.erase(it); } mm.insert({ arr[i], i }); } //mm.size() == 1 ? cout << "1\n" : cout << "NOT\n"; cout << total << endl; } }
範例測資有過 但其他 WA >.<
可是我複製貼上你ㄉ扣就AC了ㄝ:/
我後來發現這是一個愚蠢的錯誤 XD
問題在於我一開始code的 #define E 只開1000010 小於題目所要求的 1e7。
因為開不夠大,因此讓邊界值有小於中間可能。
感謝大大的幫忙!!