Submission #67864

#TimeUsernameProblemLanguageResultExecution timeMemory
67864theknife2001Teams (IOI15_teams)C++17
0 / 100
807 ms10172 KiB
#include "teams.h" //#include "grader.cpp" #include <bits/stdc++.h> #define ii pair < int , int> #define se second #define fi first using namespace std; const int N=1e5+55; ii a[N]; int b[N]; int n; priority_queue< int , vector < int > , greater < int > > pq; void init(int N, int A[], int B[]) { n=N; for(int i=0;i<n;i++) a[i]={A[i],B[i]}; sort(a,a+n); } int can(int M, int K[]) { for(int i=0;i<M;i++) { b[K[i]]++; } int j=0; for(int i=1;i<=n;i++) { while(j<n&&a[j].fi<=i) pq.push(a[j++].se); int x=b[i]*i; while(x>0) { if(pq.size()==0) return 0; pq.pop(); x--; } while(pq.size()&&pq.top()<i) pq.pop(); } while(pq.size()) pq.pop(); return 1; }

Compilation message (stderr)

teams.cpp: In function 'void init(int, int*, int*)':
teams.cpp:17:34: warning: declaration of 'N' shadows a global declaration [-Wshadow]
 void init(int N, int A[], int B[])
                                  ^
teams.cpp:10:11: note: shadowed declaration is here
 const int N=1e5+55;
           ^
teams.cpp: In function 'int can(int, int*)':
teams.cpp:47:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
     while(pq.size())
     ^~~~~
teams.cpp:49:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
  return 1;
  ^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...