提出 #22656995
ソースコード 拡げる
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
long long N, Answer = 0;
long long A[1 << 19], B[1 << 19], C[1 << 19];
long long D[1 << 19];
int main() {
// Step #1. 入力
cin >> N;
for (int i = 1; i <= N; i++) cin >> A[i];
// Step #2. 累積和を取る
for (int i = 1; i <= N; i++) {
if (i % 2 == 1) B[i] = A[i];
if (i % 2 == 0) B[i] = -A[i];
C[i] = C[i - 1] + B[i];
}
// Step #3. 座標圧縮をする
vector<long long> X;
for (int i = 0; i <= N; i++) X.push_back(C[i]);
sort(X.begin(), X.end());
for (int i = 0; i <= N; i++) C[i] = lower_bound(X.begin(), X.end(), C[i]) - X.begin();
// Step #4. 答えを計算する
for (int i = 0; i <= N; i++) {
Answer += D[C[i]];
D[C[i]] += 1;
}
cout << Answer << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - ARC Wrecker 2 |
| ユーザ | E869120 |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 500 |
| コード長 | 822 Byte |
| 結果 | AC |
| 実行時間 | 142 ms |
| メモリ | 15088 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| All | corner_01.txt, corner_02.txt, corner_03.txt, corner_04.txt, corner_05.txt, corner_06.txt, corner_07.txt, corner_08.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| corner_01.txt | AC | 7 ms | 3608 KiB |
| corner_02.txt | AC | 3 ms | 3480 KiB |
| corner_03.txt | AC | 2 ms | 3580 KiB |
| corner_04.txt | AC | 2 ms | 3608 KiB |
| corner_05.txt | AC | 2 ms | 3492 KiB |
| corner_06.txt | AC | 2 ms | 3604 KiB |
| corner_07.txt | AC | 4 ms | 3532 KiB |
| corner_08.txt | AC | 2 ms | 3500 KiB |
| in01.txt | AC | 63 ms | 14180 KiB |
| in02.txt | AC | 76 ms | 14536 KiB |
| in03.txt | AC | 82 ms | 14772 KiB |
| in04.txt | AC | 96 ms | 14748 KiB |
| in05.txt | AC | 105 ms | 14864 KiB |
| in06.txt | AC | 114 ms | 14896 KiB |
| in07.txt | AC | 125 ms | 14892 KiB |
| in08.txt | AC | 131 ms | 15028 KiB |
| in09.txt | AC | 61 ms | 14296 KiB |
| in10.txt | AC | 66 ms | 14296 KiB |
| in11.txt | AC | 98 ms | 14364 KiB |
| in12.txt | AC | 113 ms | 14396 KiB |
| in13.txt | AC | 105 ms | 14292 KiB |
| in14.txt | AC | 104 ms | 14376 KiB |
| in15.txt | AC | 66 ms | 14356 KiB |
| in16.txt | AC | 123 ms | 14308 KiB |
| in17.txt | AC | 95 ms | 14400 KiB |
| in18.txt | AC | 122 ms | 15020 KiB |
| in19.txt | AC | 115 ms | 15088 KiB |
| in20.txt | AC | 123 ms | 13608 KiB |
| in21.txt | AC | 119 ms | 13660 KiB |
| in22.txt | AC | 135 ms | 15016 KiB |
| in23.txt | AC | 117 ms | 13528 KiB |
| in24.txt | AC | 116 ms | 13528 KiB |
| in25.txt | AC | 129 ms | 15000 KiB |
| in26.txt | AC | 132 ms | 14316 KiB |
| in27.txt | AC | 142 ms | 15060 KiB |
| in28.txt | AC | 142 ms | 14904 KiB |
| sample_01.txt | AC | 3 ms | 3580 KiB |
| sample_02.txt | AC | 2 ms | 3628 KiB |
| sample_03.txt | AC | 2 ms | 3488 KiB |
| sample_04.txt | AC | 2 ms | 3528 KiB |