Submission #173080

#TimeUsernameProblemLanguageResultExecution timeMemory
173080beksultan04Bootfall (IZhO17_bootfall)C++14
13 / 100
1059 ms632 KiB
#include <bits/stdc++.h>
using namespace std;
#define fr first
#define sc second
#define pb push_back
#define mk make_pair
#define OK puts("OK");
#define sz(s) (int)s.size()
#define pii pair<int,int>
#define all(s) s.begin(), s.end()
#define allr(s) s.rbegin(), s.rend()
#define rep(i,n) for (i=0;i<(n);++i)
#define rep1(i,n) for (i=1;i<=(n);++i)
#define ret return
#define nemeshay ios::sync_with_stdio(0),cin.tie(0);
const int N=1e6+12,INF=1e9+7;
int q[N],coor[N],n,ans;
bool is(){
    int dp[500*500+12],i,j,sum=0;
    for (i=0;i<ans*2;++i)dp[i]=0;
    dp[0]=1;
    rep(i,n){
        for (j=ans*2-1;j>=0;--j)
            if (dp[j]==1)
                dp[j+q[i]]=1;
        sum+=q[i];
    }
    if (sum%2==1 || dp[sum/2]==0)ret 0;
    ret 1;
}
main(){
    int i,j;
    cin>>n;
    vector <int> v;
    rep(i,n){
        cin>>q[i];
        ans+=q[i];
    }
    if (!is()){
        cout <<0;
        ret 0;
    }
    else {
        for (i=1;i<ans;++i){
            for (j=0;j<n;++j){
                int c=q[j];
                q[j]=i;
                if (!is()){
                    q[j]=c;
                    break;
                }
                else q[j]=c;
            }
            if (j==n)
                v.pb(i);

        }
        cout <<v.size()<<"\n";
        rep(i,v.size())
            cout <<v[i]<<" ";
    }
}

Compilation message (stderr)

bootfall.cpp:31:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
bootfall.cpp: In function 'int main()':
bootfall.cpp:12:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define rep(i,n) for (i=0;i<(n);++i)
                            ^
bootfall.cpp:59:9: note: in expansion of macro 'rep'
         rep(i,v.size())
         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...