Submission #910974

#TimeUsernameProblemLanguageResultExecution timeMemory
910974vjudge1Table Tennis (info1cup20_tabletennis)C++17
20 / 100
3097 ms4436 KiB
#include <iostream> #include <algorithm> using namespace std; #define MAXN 150000 #define MAXK 400 int v[MAXN+MAXK+1]; int sol[MAXN+1]; int main() { int n, k; cin>>n>>k; int i; long long sum; sum=0; for(i=1; i<=n+k; i++) { cin>>v[i]; sum+=v[i]; } int p, ok, csum, j; if(k==1) { int p, csum, ok, j; for(i=1; i<=n+k; i++) { if((sum-v[i])%(n/2)==0) { p=1; for(j=1; j<=n+k; j++) if(j!=i) sol[p++]=v[j]; p=n; csum=(sum-v[i])/(n/2); ok=0; for(j=1; j<=n/2; j++) { if(sol[j]+sol[p]==csum) ok++; p--; } if(ok==n/2) break; } } } else if(n<100) { do { p=1; for(j=1; j<=n; j++) sol[p++]=v[j]; p=n; csum=sol[j]+sol[p]; p--; ok=1; for(j=2; j<=n/2; j++) { if(sol[j]+sol[p]==csum) ok++; p--; } if(ok==n/2) break; } while(next_permutation(v+1, v+n+k+1)); } for(i=1; i<=n; i++) cout<<sol[i]<<" "; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...