| 17598 | 2025-08-08 01:26:04 | peti1234 | Bináris keresés | cpp17 | Futási hiba 0/100 | 8ms | 1012 KiB |
#include <bits/stdc++.h>
using namespace std;
const int c=100005;
int n, sum, t[c], pref[c], dp[c], rossz[c];
vector<int> ans;
void solve() {
cin >> n;
for (int i=1; i<=n; i++) {
cin >> t[i];
pref[i]=pref[i-1]+t[i];
sum+=t[i];
}
for (int i=1; i<=n; i++) {
dp[0]=i;
for (int j=sum-t[i]; j>=0; j--) {
dp[j+t[i]]=max(dp[j+t[i]], dp[j]);
}
for (int j=1; j<=i; j++) {
int ert=pref[i]-pref[j-1], len=i-j+1;
if (ert%2 || dp[ert/2]<j) rossz[len]=1;
}
}
for (int i=1; i<=n; i++) {
if (!rossz[i]) {
ans.push_back(i);
}
rossz[i]=0;
}
cout << ans.size() << " ";
for (auto x:ans) {
cout << x << " ";
}
cout << "\n";
ans.clear();
for (int i=0; i<c; i++) dp[i]=0;
sum=0;
}
int main() {
ios_base::sync_with_stdio(false);
int w;
cin >> w;
while (w--) {
solve();
}
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/3 | ||||||
| 1 | Futási hiba | 1ms | 316 KiB | ||||
| subtask2 | 0/4 | ||||||
| 1 | Prezentációs hiba | 8ms | 1012 KiB | ||||
| subtask3 | 0/16 | ||||||
| 1 | Futási hiba | 1ms | 316 KiB | ||||
| subtask4 | 0/25 | ||||||
| 1 | Futási hiba | 1ms | 316 KiB | ||||
| 2 | Futási hiba | 1ms | 316 KiB | ||||
| 3 | Futási hiba | 1ms | 508 KiB | ||||
| 4 | Futási hiba | 1ms | 316 KiB | ||||
| 5 | Futási hiba | 1ms | 508 KiB | ||||
| subtask5 | 0/22 | ||||||
| 1 | Futási hiba | 2ms | 564 KiB | ||||
| 2 | Futási hiba | 2ms | 564 KiB | ||||
| 3 | Futási hiba | 3ms | 820 KiB | ||||
| subtask6 | 0/30 | ||||||
| 1 | Futási hiba | 1ms | 508 KiB | ||||
| 2 | Futási hiba | 1ms | 316 KiB | ||||