Submission #1246474

#TimeUsernameProblemLanguageResultExecution timeMemory
1246474SpyrosAlivTeams (IOI15_teams)C++20
Compilation error
0 ms0 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;

int n;
vector<pair<int, int>> ranges;

void init(int N, int A[], int B[]) {
	n = N;
	for (int i = 0; i < n; i++) {
		ranges.push_back({A[i], B[i]});
	}
	sort(ranges.begin(), ranges.end(), [&](pair<int, int> a, pair<int, int> b) {
		if (a.second != b.second) return a.second < b.second;
		return a.first < b.first;
	});
}

int can(int M, int K[]) {
	int m = M;
	vector<int> cnt(n+1, 0);
	set<int> points;
	points.insert(n+10);
	for (int i = 0; i < m; i++) {
		cnt[K[i]] += K[i];
		points.insert(K[i]);
	}
	for (auto [l, r]: ranges) {
		auto nxt = points.lower_bound(l);
		if (*nxt > r) continue;
		cnt[*nxt]--;
		if (cnt[*nxt] == 0) {
			points.erase(nxt);
		}
	}
	return points.size() == 1;
}

Compilation message (stderr)

teams.cpp: In function 'void init(int, int*, int*)':
teams.cpp:11:17: error: reference to 'ranges' is ambiguous
   11 |                 ranges.push_back({A[i], B[i]});
      |                 ^~~~~~
In file included from /usr/include/c++/11/compare:39,
                 from /usr/include/c++/11/bits/stl_pair.h:65,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from teams.cpp:2:
/usr/include/c++/11/concepts:163:13: note: candidates are: 'namespace std::ranges { }'
  163 |   namespace ranges
      |             ^~~~~~
teams.cpp:6:24: note:                 'std::vector<std::pair<int, int> > ranges'
    6 | vector<pair<int, int>> ranges;
      |                        ^~~~~~
teams.cpp:13:14: error: reference to 'ranges' is ambiguous
   13 |         sort(ranges.begin(), ranges.end(), [&](pair<int, int> a, pair<int, int> b) {
      |              ^~~~~~
In file included from /usr/include/c++/11/compare:39,
                 from /usr/include/c++/11/bits/stl_pair.h:65,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from teams.cpp:2:
/usr/include/c++/11/concepts:163:13: note: candidates are: 'namespace std::ranges { }'
  163 |   namespace ranges
      |             ^~~~~~
teams.cpp:6:24: note:                 'std::vector<std::pair<int, int> > ranges'
    6 | vector<pair<int, int>> ranges;
      |                        ^~~~~~
teams.cpp:13:30: error: reference to 'ranges' is ambiguous
   13 |         sort(ranges.begin(), ranges.end(), [&](pair<int, int> a, pair<int, int> b) {
      |                              ^~~~~~
In file included from /usr/include/c++/11/compare:39,
                 from /usr/include/c++/11/bits/stl_pair.h:65,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from teams.cpp:2:
/usr/include/c++/11/concepts:163:13: note: candidates are: 'namespace std::ranges { }'
  163 |   namespace ranges
      |             ^~~~~~
teams.cpp:6:24: note:                 'std::vector<std::pair<int, int> > ranges'
    6 | vector<pair<int, int>> ranges;
      |                        ^~~~~~
teams.cpp: In function 'int can(int, int*)':
teams.cpp:28:27: error: reference to 'ranges' is ambiguous
   28 |         for (auto [l, r]: ranges) {
      |                           ^~~~~~
In file included from /usr/include/c++/11/compare:39,
                 from /usr/include/c++/11/bits/stl_pair.h:65,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from teams.cpp:2:
/usr/include/c++/11/concepts:163:13: note: candidates are: 'namespace std::ranges { }'
  163 |   namespace ranges
      |             ^~~~~~
teams.cpp:6:24: note:                 'std::vector<std::pair<int, int> > ranges'
    6 | vector<pair<int, int>> ranges;
      |                        ^~~~~~