# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1107406 | 2024-11-01T07:43:13 Z | vjudge1 | Kpart (eJOI21_kpart) | C++17 | 2000 ms | 1608 KB |
#include <bits/stdc++.h> #define ll long long #define fi first #define se second #define iosBASE ios::sync_with_stdio(false);cin.tie(0);cout.tie (0); void Freopen () { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif } const ll INF = (ll)1e18 + 7; const ll mod = (ll)1e9 + 7; const ll N = 1e5 + 5; using namespace std; int n, a[N], cnt[N]; void ma1n () { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; cnt[i] = 0; } set <int> s; vector <int> ans; for (int i = 1; i <= n; i++) { s.clear (); s.insert (0); int sum = 0; for (int j = i; j <= n; j++) { for (auto to : s) { s.insert (-(-to + a[j])); } sum += a[j]; if (sum % 2 == 0 && s.find (-sum / 2) != s.end ()) { cnt[j - i + 1]++; if (cnt[j - i + 1] == n - j + i) { ans.push_back (j - i + 1); } } } } sort (ans.begin (), ans.end ()); cout << ans.size () << " "; for (auto to : ans) { cout << to << " "; } cout << "\n"; } int main () { iosBASE; int t = 1; cin >> t; for (int i = 1; i <= t; i++) { ma1n (); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 117 ms | 592 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2051 ms | 592 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2058 ms | 1608 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |