提出 #34219283
ソースコード 拡げる
#include<iostream> #include<string> #include<vector> #include<stack> #include<queue> #include<set> #include<map> #include<algorithm> #include<cstring> using namespace std; int n; long long a, b, c; int arr[200010]; long long prefix[200010]; bool check(int l, int r) { int s, e; int mid; bool flag; s = l; e = r; flag = false; while (s <= e) { mid = (s + e) / 2; if (prefix[mid] - prefix[l - 1] == a) { flag = true; break; } else if (prefix[mid] - prefix[l - 1] < a) s = mid + 1; else e = mid - 1; } if (!flag) return false; l = mid + 1; s = l; e = r; flag = false; while (s <= e) { mid = (s + e) / 2; if (prefix[mid] - prefix[l - 1] == b) { flag = true; break; } else if (prefix[mid] - prefix[l - 1] < b) s = mid + 1; else e = mid - 1; } return flag; } int main() { int i; int s, e; long long sum; cin >> n >> a >> b >> c; for (i = 1; i <= n; i++) { cin >> arr[i]; } for (i = 1; i <= n; i++) { prefix[i] = prefix[i - 1] + arr[i]; } s = 1; e = 0; sum = 0; while (e <= n) { if (sum == a + b + c) { if (check(s, e)) { cout << "Yes"; return 0; } e++; sum += arr[e]; } else if (sum < a + b + c) { e++; sum += arr[e]; } else { sum -= arr[s]; s++; } } cout << "No"; }
提出情報
提出日時 | |
---|---|
問題 | D - Iroha and Haiku (New ABC Edition) |
ユーザ | gojib2002 |
言語 | C++ (GCC 9.2.1) |
得点 | 400 |
コード長 | 1408 Byte |
結果 | AC |
実行時間 | 69 ms |
メモリ | 5972 KiB |
ジャッジ結果
セット名 | Sample | All | ||||
---|---|---|---|---|---|---|
得点 / 配点 | 0 / 0 | 400 / 400 | ||||
結果 |
|
|
セット名 | テストケース |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, sample_01.txt, sample_02.txt, sample_03.txt |
ケース名 | 結果 | 実行時間 | メモリ |
---|---|---|---|
random_01.txt | AC | 66 ms | 5904 KiB |
random_02.txt | AC | 38 ms | 4772 KiB |
random_03.txt | AC | 64 ms | 5864 KiB |
random_04.txt | AC | 54 ms | 5556 KiB |
random_05.txt | AC | 63 ms | 5904 KiB |
random_06.txt | AC | 49 ms | 5260 KiB |
random_07.txt | AC | 69 ms | 5832 KiB |
random_08.txt | AC | 49 ms | 5160 KiB |
random_09.txt | AC | 63 ms | 5972 KiB |
random_10.txt | AC | 43 ms | 4820 KiB |
random_11.txt | AC | 66 ms | 5836 KiB |
random_12.txt | AC | 60 ms | 5728 KiB |
random_13.txt | AC | 66 ms | 5956 KiB |
random_14.txt | AC | 48 ms | 5316 KiB |
random_15.txt | AC | 64 ms | 5768 KiB |
random_16.txt | AC | 28 ms | 4332 KiB |
random_17.txt | AC | 69 ms | 5716 KiB |
random_18.txt | AC | 2 ms | 3568 KiB |
random_19.txt | AC | 31 ms | 5836 KiB |
random_20.txt | AC | 35 ms | 5832 KiB |
random_21.txt | AC | 30 ms | 5772 KiB |
random_22.txt | AC | 2 ms | 3592 KiB |
sample_01.txt | AC | 2 ms | 3500 KiB |
sample_02.txt | AC | 2 ms | 3608 KiB |
sample_03.txt | AC | 2 ms | 3568 KiB |