답안 #566326

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
566326 2022-05-22T08:46:14 Z shrimb Bootfall (IZhO17_bootfall) C++17
6 / 100
434 ms 262144 KB
#include"bits/stdc++.h"
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template<class x>
using ordered_set = tree<x, null_type,less<x>, rb_tree_tag,tree_order_statistics_node_update>;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
bool plc[600000];
long long occ[600000],a[505];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    long long n,sum=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    plc[0]=true;
    vector <int> h;
    vector <int> yes;
    yes.push_back(0);
    for(int i=0;i<n;i++)
    {
        for(int j=(int)yes.size()-1;j>=0;j--)
        {
            if(((yes[j] + a[i] < 600000) and plc[yes[j]+a[i]]!=true)||(yes[j]+a[i])<=250000){
                plc[yes[j]+a[i]]=true;
                yes.push_back(yes[j]+a[i]);
            }
        }
    }
    //cout<<"HI"<<endl;
    if(plc[sum/2])
    {
        for(int k=0;k<n;k++)
        {
            sum-=a[k];
            for(int i=0;i<=250000;i++)
                plc[i]=false;
            plc[0]=true;
            yes.clear();
            yes.push_back(0);
            for(int i=0;i<n;i++)
            {
                if(i==k)
                    continue;
                for(int j=(int)yes.size()-1;j>=0;j--)
                {
                    if(((yes[j] + a[i] < 600000) and plc[yes[j]+a[i]]!=true)||(yes[j]+a[i])<=250000){
                        plc[yes[j]+a[i]]=true;
                        yes.push_back(yes[j]+a[i]);
                    }
                }
            }
            //cout<<"HELLO"<<endl;
            for(int i=0;i<=sum;i++)
            {
                long long oth=i-(sum-i);
                if(oth<=0)
                    continue;
                if(i < 600000 and plc[i]){
                    if (oth < 600000) occ[oth]++;
                    //cout<<oth<<" ";
                }
            }
            //cout<<endl;
            sum+=a[k];
        }

    }
    for(int i=1;i<=500000;i++)
        {

                if(occ[i]==n){
                    //cout<<"???"<<endl;
                    h.push_back(i);
        }
    }
    cout<<h.size()<<"\n";
    for(auto i : h)
        cout<<i<<" ";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 596 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 4 ms 596 KB Output is correct
7 Correct 4 ms 468 KB Output is correct
8 Correct 3 ms 596 KB Output is correct
9 Correct 3 ms 596 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 596 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 4 ms 596 KB Output is correct
7 Correct 4 ms 468 KB Output is correct
8 Correct 3 ms 596 KB Output is correct
9 Correct 3 ms 596 KB Output is correct
10 Runtime error 434 ms 262144 KB Execution killed with signal 9
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 596 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 4 ms 596 KB Output is correct
7 Correct 4 ms 468 KB Output is correct
8 Correct 3 ms 596 KB Output is correct
9 Correct 3 ms 596 KB Output is correct
10 Runtime error 434 ms 262144 KB Execution killed with signal 9
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 596 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 4 ms 596 KB Output is correct
7 Correct 4 ms 468 KB Output is correct
8 Correct 3 ms 596 KB Output is correct
9 Correct 3 ms 596 KB Output is correct
10 Runtime error 434 ms 262144 KB Execution killed with signal 9
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 596 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 4 ms 596 KB Output is correct
7 Correct 4 ms 468 KB Output is correct
8 Correct 3 ms 596 KB Output is correct
9 Correct 3 ms 596 KB Output is correct
10 Runtime error 434 ms 262144 KB Execution killed with signal 9
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 468 KB Output is correct
2 Correct 3 ms 468 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 596 KB Output is correct
5 Correct 3 ms 596 KB Output is correct
6 Correct 4 ms 596 KB Output is correct
7 Correct 4 ms 468 KB Output is correct
8 Correct 3 ms 596 KB Output is correct
9 Correct 3 ms 596 KB Output is correct
10 Runtime error 434 ms 262144 KB Execution killed with signal 9
11 Halted 0 ms 0 KB -