Submission #1088259

#TimeUsernameProblemLanguageResultExecution timeMemory
1088259browntoadTeams (IOI15_teams)C++14
34 / 100
4032 ms47248 KiB
#include <bits/stdc++.h> #include "teams.h" using namespace std; #define ll long long // #define int ll #define FOR(i, a, b) for (int i = (a); i < (b); i++) #define REP(i, n) FOR(i, 0, n) #define REP1(i, n) FOR(i, 1, n+1) #define RREP(i, n) for (int i = (n)-1; i >= 0; i--) #define pii pair<int, int> #define f first #define s second #define pb push_back #define ALL(x) (x).begin(), (x).end() #define SZ(x) (int)((x).size()) const ll maxn = 5e5+5; vector<pii> rng(maxn); int n; vector<int> tmm[maxn]; void init(int N, int A[], int B[]){ n = N; REP(i, n){ rng[i].f = A[i]; rng[i].s = B[i]; tmm[A[i]].pb(B[i]); } } int can(int m, int k[]){ vector<int> qq; REP(i, m) qq.pb(k[i]); sort(ALL(qq)); multiset<int> st; int qptr = 0; REP1(i, n){ while(SZ(st) && (*st.begin()) < i) st.erase(st.begin()); for (int j:tmm[i]) st.insert(j); while(qptr < m && qq[qptr] == i){ if (SZ(st) < i) return 0; REP(j, i) st.erase(st.begin()); qptr++; } } 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...