제출 #154036

#제출 시각아이디문제언어결과실행 시간메모리
154036youssefbou62팀들 (IOI15_teams)C++14
34 / 100
4091 ms33296 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 ,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]); } // sort(st,st+n); } int can(int M,int K[]){ // sort(K,K+M); memset(pr,0,sizeof pr); for(int i = 0 ; i < M ; i++ )pr[K[i]]++; priority_queue<int,vector<int>,greater<int> >q ; for(int i = 1 ; i <= n ; i++ ){ for(int j : in[i]) q.push(j); if( pr[i] ){ if( (int)q.size() >= pr[i]*i ){ int k = i *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; // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...