Submission #746571

# Submission time Handle Problem Language Result Execution time Memory
746571 2023-05-22T19:44:40 Z pascal Kpart (eJOI21_kpart) C++14
30 / 100
2000 ms 332 KB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int T;
    cin >> T;
    for (int i = 0; i < T; i++)
    {
        int N;
        cin >> N;
        int A[N];
        for (int i = 0; i < N; i++)
        {
            cin >> A[i];
        }
        int out[N] = {0};
        for (int deb = 0; deb < N; deb++)
        {
            bitset<50000> S;
            S[0] = true;
            int somme = 0;
            for (int fin = deb; fin < N; fin++)
            {
                somme += A[fin];
                S = S | (S << A[fin]);
                if (somme % 2 == 1 || !S[somme / 2])
                    out[fin - deb] = 1;
            }
        }
        int nb = 0;
        for (int i = 0; i < N; i++)
            if (out[i] == 0)
                nb++;
        cout << nb;
        for (int i = 0; i < N; i++)
            if (out[i] == 0)
                cout << " " << i + 1;
        cout << endl;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 8 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 52 ms 212 KB Output is correct
2 Correct 193 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 878 ms 320 KB Output is correct
2 Execution timed out 2057 ms 332 KB Time limit exceeded
3 Halted 0 ms 0 KB -