Submission #282548

#TimeUsernameProblemLanguageResultExecution timeMemory
282548SamAnd팀들 (IOI15_teams)C++17
34 / 100
4067 ms38648 KiB
#include "teams.h" #include <bits/stdc++.h> using namespace std; #define m_p make_pair #define all(x) (x).begin(),(x).end() #define sz(x) ((int)(x).size()) #define fi first #define se second typedef long long ll; const int N = 500005; struct ban { int l, r; }; bool operator<(const ban& a, const ban& b) { return a.l < b.l; } int n; ban a[N]; void init(int N_, int A[], int B[]) { n = N_; for (int i = 0; i < n; ++i) { a[i].l = A[i]; a[i].r = B[i]; } sort(a, a + n); } int m; int b[N]; int can(int M_, int K[]) { m = M_; for (int i = 0; i < m; ++i) b[i] = K[i]; sort(b, b + m); ll sum = 0; for (int i = 0; i < m; ++i) sum += b[i]; if (sum > n) return 0; multiset<int> s; int j = 0; for (int i = 0; i < m; ++i) { while (j < n && a[j].l <= b[i]) s.insert(a[j++].r); while (!s.empty() && *s.begin() < b[i]) s.erase(s.begin()); if (sz(s) < b[i]) return 0; for (int j = 0; j < b[i]; ++j) s.erase(s.begin()); } return 1; }

Compilation message (stderr)

teams.cpp: In function 'int can(int, int*)':
teams.cpp:60:18: warning: declaration of 'j' shadows a previous local [-Wshadow]
   60 |         for (int j = 0; j < b[i]; ++j)
      |                  ^
teams.cpp:51:9: note: shadowed declaration is here
   51 |     int j = 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...