Submission details
Task:Ryhmät
Sender:mangolassi
Submission time:2025-09-27 14:19:32 +0300
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.01 s1, 2, 3details
#2ACCEPTED0.00 s1, 2, 3details
#3ACCEPTED0.01 s1, 2, 3details
#4ACCEPTED0.00 s1, 2, 3details
#5ACCEPTED0.01 s1, 2, 3details
#6ACCEPTED0.02 s2details
#7ACCEPTED0.03 s2details
#8ACCEPTED0.09 s2details
#9ACCEPTED0.01 s2, 3details
#10ACCEPTED0.58 s3details
#110.58 s3details
#120.58 s3details
#13ACCEPTED0.58 s3details
#14ACCEPTED0.60 s3details
#15ACCEPTED0.60 s3details
#16ACCEPTED0.59 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:57:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   57 |         for (int i = 0; i <= n; ++i) cerr << reqs[i] << ' '; cerr << '\n';
      |         ^~~
input/code.cpp:57:62: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   57 |         for (int i = 0; i <= n; ++i) cerr << reqs[i] << ' '; cerr << '\n';
      |                                                              ^~~~
input/code.cpp:58:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   58 |         for (int i = 0; i <= n; ++i) cerr << caps[i] << ' '; cerr << '\n';
      |         ^~~
input/code.cpp:58:62: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   58 |         for (int i = 0; i <= n; ++i) cerr << caps[i] << ' '; cerr << '\n';
      |                                                              ^~~~

Code

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int INF = (int)1e9 + 7;

void solve(const vector<int>& reqs, const vector<int>& caps) {
	int n = (int)reqs.size() - 1;

	int m;
	cin >> m;

	vector<int> ks(m);
	for (int& k : ks) cin >> k;
	sort(ks.begin(), ks.end());

	bool fail = 0;
	ll sum = reqs[ks[0] - 1];
	for (int i = 0; i < m; ++i) {
		int nxt = (i + 1 < m ? ks[i + 1] : n + 1);
		sum += ks[i];

		if (sum > caps[ks[i]]) fail = 1;
		if (nxt > ks[i]) {
			ll add = reqs[nxt - 1] - sum;
			if (add >= 0) sum += add;
		}
	}

	if (fail) cout << "NO" << '\n';
	else cout << "YES" << '\n';
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);

	int n, t;
	cin >> n >> t;
	
	vector<int> reqs(n + 1, 0), caps(n + 1, 0);
	for (int i = 0; i < n; ++i) {
		int a, b;
		cin >> a >> b;
		++reqs[b];
		++caps[a - 1];
	}

	for (int i = 0, sum = 0; i <= n; ++i) {
		sum += reqs[i];
		reqs[i] = sum;
	}
	for (int i = n, sum = 0; i >= 0; --i) {
		sum += caps[i];
		caps[i] = n - sum;
	}

	for (int i = 0; i <= n; ++i) cerr << reqs[i] << ' '; cerr << '\n';
	for (int i = 0; i <= n; ++i) cerr << caps[i] << ' '; cerr << '\n';

	for (int ti = 0; ti < t; ++ti) solve(reqs, caps);
}

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
100 100
10 10
10 10
6 9
6 8
...

correct output
YES
YES
YES
NO
YES
...

user output
YES
YES
YES
NO
YES
...
Truncated

Error:
0 1 1 5 8 16 26 29 41 60 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 1...

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
100 100
9 9
6 10
8 10
8 8
...

correct output
NO
YES
NO
YES
NO
...

user output
NO
YES
NO
YES
NO
...
Truncated

Error:
0 2 2 7 13 21 30 44 50 67 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100...

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
100 100
1 1
1 1
1 1
1 1
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100...

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
100 100
100 100
100 100
100 100
100 100
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
100 100
4 9
3 8
7 9
7 9
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...
Truncated

Error:
0 1 3 6 10 18 22 38 52 71 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100...

Test 6

Group: 2

Verdict: ACCEPTED

input
1000 1000
9 10
2 5
10 10
5 5
...

correct output
YES
YES
YES
YES
NO
...

user output
YES
YES
YES
YES
NO
...
Truncated

Error:
0 12 27 55 103 162 248 359 494 688 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000...

Test 7

Group: 2

Verdict: ACCEPTED

input
1000 1000
5 7
9 9
3 7
8 10
...

correct output
YES
NO
NO
YES
YES
...

user output
YES
NO
NO
YES
YES
...
Truncated

Error:
0 14 29 60 103 157 268 384 503 692 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000...

Test 8

Group: 2

Verdict: ACCEPTED

input
1000 1000
1 1
1 1
1 1
1 1
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 100...

Test 9

Group: 2, 3

Verdict: ACCEPTED

input
1000 1000
1000 1000
1000 1000
1000 1000
1000 1000
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 10

Group: 3

Verdict: ACCEPTED

input
100000 1000
774 778
363 852
309 668
261 459
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 0 0 0 0 0 0 3 3 4 6 6 9 10 10 10 14 16 17 17 19 20 24 26 29 32 33 36 37 41 47 50 53 58 6...

Test 11

Group: 3

Verdict:

input
100000 1000
1233 1914
901 3963
1277 4293
1083 1599
...

correct output
NO
NO
YES
NO
NO
...

user output
NO
NO
YES
NO
NO
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6...

Test 12

Group: 3

Verdict:

input
100000 1000
1970 8631
4606 5797
6317 8162
8204 8789
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 13

Group: 3

Verdict: ACCEPTED

input
100000 1000
1000 1000
1000 1000
1000 1000
1000 1000
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 14

Group: 3

Verdict: ACCEPTED

input
100000 100000
1 100000
1 100000
1 100000
1 100000
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 15

Group: 3

Verdict: ACCEPTED

input
100000 100000
80971 98445
93046 96043
74840 94035
95931 96609
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 16

Group: 3

Verdict: ACCEPTED

input
100000 10000
6481 14350
69129 87600
6217 16462
4387 16625
...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...
Truncated

Error:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...