Submission #525646

#TimeUsernameProblemLanguageResultExecution timeMemory
525646ammar2000Table Tennis (info1cup20_tabletennis)C++17
20 / 100
3092 ms9800 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define F first #define S second #define coy cout<<"YES\n" #define con cout<<"NO\n" #define co1 cout<<"-1\n" #define sc(x) scanf("%lld",&x) #define all(x) x.begin(),x.end() #define fast ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; const int SI=3e5+7; ll INF=8e18+7; int dx[] = {1 , -1 , 0 , 0}; int dy[] = {0 , 0 , 1 , -1}; int MOD=1e9+7; ll n,k,a[SI]; vector <ll> bt; bool out=0; void solve(int in) { if (out) return; if (bt.size()==n) { ll f=0,s=bt.size()-1; ll sum=bt[f]+bt[s]; bool ok=0; while (f<s) { if (sum!=bt[f++]+bt[s--]) return; } out=1; for (auto y:bt) cout <<y<<" "; return ; } if (in==n+k) return ; bt.pb(a[in]); solve(in+1); bt.pop_back(); solve(in+1); } int main() { fast cin>>n>>k; for (int i=0;i<n+k;i++) cin>>a[i]; if (k==1) { ll f=0,s=n+k-2; ll sum=a[f]+a[s]; bool ok=0; while (f<s) { if (sum!=a[f++]+a[s--]) {ok=1; break;} } if (!ok) { for (int i=0;i<n+k-1;i++) cout <<a[i]<<" "; return 0; } ok=0; f=1,s=n+k-1; sum=a[f]+a[s]; while (f<s) { if (sum!=a[f++]+a[s--]) {ok=1; break;} } if (!ok) { for (int i=1;i<n+k;i++) cout <<a[i]<<" "; return 0; } f=0,s=n+k-1; sum=a[f]+a[s]; vector < ll> ans; ans.clear(); while(f<s) { if (a[f]+a[s]==sum) ans.pb(a[f]),ans.pb(a[s]),f++,s--; else { if (a[f+1]+a[s]==sum) f++; else s--; } } sort (ans.begin(),ans.end()); for (auto y:ans) cout <<y<<" "; } solve(0); // use scanf not cin return 0; }

Compilation message (stderr)

tabletennis.cpp: In function 'void solve(int)':
tabletennis.cpp:25:18: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   25 |     if (bt.size()==n)
      |         ~~~~~~~~~^~~
tabletennis.cpp:29:13: warning: unused variable 'ok' [-Wunused-variable]
   29 |        bool ok=0;
      |             ^~
#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...