# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
631021 | 2022-08-17T14:29:40 Z | ZsofiaKeresztely | Kpart (eJOI21_kpart) | C++14 | 1 ms | 852 KB |
#include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t, n, op; cin >> t; vector<int> a, lasti, pref; set<int> k; while (t--){ cin >> n; a.resize(n); lasti.assign(50001, -1); pref = {0}; k.clear(); for (int i=0; i<n; i++){ cin >> a[i]; k.insert(i + 1); pref.push_back(pref[i] + a[i]); for (int j=50000-a[i]; j>0; j--){ lasti[j + a[i]] = max(lasti[j + a[i]], lasti[j]); } if (a[i] <= 50000){ lasti[a[i]] = i; } for (int x : k){ if ((pref[i + 1] - pref[i - x + 1]) % 2 || lasti[(pref[i + 1] - pref[i - x + 1]) / 2] < i - x + 1){ k.erase(x); } } } cout << k.size() << " "; for (int x : k){ cout << x << " "; } cout << "\n"; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 852 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 852 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 792 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |