Submission #83681

#TimeUsernameProblemLanguageResultExecution timeMemory
83681nikolapesic2802Sticks (POI11_pat)C++14
100 / 100
362 ms7944 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back void fastscan(int &n) { bool minus=false; n=0; register int c=getchar(); if(c=='-') { minus=true; c=getchar(); } while(c>='0'&&c<='9') { n*=10; n+=c-'0'; c=getchar(); } if(minus) n*=-1; } int k,i,n,j,a,p,m1,m2,c1,c2,ma1,ma2,ca1,ca2,l,r,mid,v,dd; int main() { //scanf("%i",&k); fastscan(k); vector<vector<int> > sets(k); for(i=0;i<k;i++) { sets[i].pb(INT_MAX); //scanf("%i",&n); fastscan(n); for(j=0;j<n;j++) { //scanf("%i",&a); fastscan(a); sets[i].pb(a); } sort(sets[i].begin(),sets[i].end()); } for(i=0;i<k;i++) { for(dd=0;dd<sets[i].size();dd++) { p=sets[i][dd]; if(p==INT_MAX) continue; m1=INT_MAX;m2=INT_MAX; ma1=-1;ma2=-1; for(j=0;j<k;j++) { if(i==j) continue; l=0,r=sets[j].size()-1; while(l<r) { mid=(l+r)/2; if(mid==0&&sets[j][mid]>=p) { l=mid; break; } if(sets[j][mid]>=p&&sets[j][mid-1]<p){ l=mid; break; } if(sets[j][mid]<p) { l=mid+1; } else { r=mid; } } v=sets[j][l]; if(v<m1) { m2=m1; c2=c1; m1=v; c1=j; } else { if(v<m2) { m2=v; c2=j; } } if(l==0) continue; v=sets[j][l-1]; if(v>ma1) { ma2=ma1; ca2=ca1; ma1=v; ca1=j; } else { if(v>ma2) { ma2=v; ca2=j; } } } if(m1!=INT_MAX&&m2!=INT_MAX) { if(p+m1>m2) { printf("%i %i %i %i %i %i\n",i+1,p,c1+1,m1,c2+1,m2); return 0; } } if(ma1!=-1&&ma2!=-1) { if(ma1+ma2>p) { printf("%i %i %i %i %i %i\n",i+1,p,ca1+1,ma1,ca2+1,ma2); return 0; } } } } printf("NIE\n"); return 0; }

Compilation message (stderr)

pat.cpp: In function 'int main()':
pat.cpp:48:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(dd=0;dd<sets[i].size();dd++)
                  ~~^~~~~~~~~~~~~~~
#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...
#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...