Submission #154030

#TimeUsernameProblemLanguageResultExecution timeMemory
154030youssefbou62Teams (IOI15_teams)C++14
0 / 100
4013 ms31456 KiB
#include <bits/stdc++.h> // #include "teams.h" using namespace std; #define mp make_pair #define fi first #define se second #define all(v) v.begin(),v.end() #define allarr(a) a , a + n #define ll long long #define ull unsigned long long #define pb push_back #define fastio ios_base::sync_with_stdio(false) ; cin.tie(NULL); cout.tie(NULL) typedef pair<int, int> pi; typedef pair<ll,ll> pll; typedef pair<int,pi> trp ; typedef vector<pi> vpi; typedef vector<pll> vpll ; // int ab (int x ) { return (x>0?x:-x); } const int MaxN = 5e5+5; pi st[MaxN]; int n ,out[MaxN],pr[MaxN]; vector<int> in[MaxN]; void init(int N,int a[],int b[]){ n = N ; for(int i = 0 ; i < n ;i++ ){ st[i]={a[i],b[i]}; in[a[i]].pb(b[i]); out[b[i]]++; } // sort(st,st+n); } int can(int M,int K[]){ // sort(K,K+M); for(int i = 0 ; i < M ; i++ )pr[K[i]]++; priority_queue<int,vector<int>,greater<int> >q ; int done = 0 ; for(int i = 1 ; i <= n ; i++ ){ for(int j : in[i]) q.push(j); if( pr[i] ){ if( q.size() >= pr[i]*i ){ int k = i ; while( pr[i] -- )while( k-- )q.pop(); }else return 0; } while( !q.empty() && q.top() == i )q.pop(); } return 1 ; } // int main(){ // int a[]={1,2,2,2},b[]={2,3,3,4}; // init(4,a,b); // int K[]={1,3},KK[]={1,1}; // cout << can(2,K)<<" " << can(2,KK)<<endl; // }

Compilation message (stderr)

teams.cpp: In function 'int can(int, int*)':
teams.cpp:44:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if( q.size() >= pr[i]*i ){
        ~~~~~~~~~^~~~~~~~~~
teams.cpp:39:6: warning: unused variable 'done' [-Wunused-variable]
  int done = 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...