Submission #576278

# Submission time Handle Problem Language Result Execution time Memory
576278 2022-06-12T21:52:09 Z keta_tsimakuridze Teleporters (IOI08_teleporters) C++14
100 / 100
908 ms 65536 KB
#include<bits/stdc++.h>
using namespace std;
//#define int long long
#define pii pair<int,int>
#define f first
#define s second
#define endl "\n"
const int N = 2e6 + 5, M = 2e6 + 1, mod = 1e9 + 7; //!
int t;
bool vis[N];
pair<int,bool> to[N];
main() {
//	ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	int n, m;
	cin >> n >> m;
	
	for(int i = 0; i <= M - 1; i++) to[i] = {i + 1, 0};
	for(int i = 1; i <= n; i++) {
		int l, r;
		cin >> l >> r;
		to[l - 1] = {r, 1};
		to[r - 1] = {l, 1};
	}
	multiset<int> s;
	int init = 0;
	for(int i = 0; i <= M; i++) {
		if(!vis[i]) {
			int cn = 0, x = i;
			while(!vis[x]) {
				cn += to[x].s;
				vis[x] = 1;
				x = to[x].f;
			}
			if(!i) init = cn;
			else s.insert(cn);
		}
	}
	while(m--) {
		if(s.size()) init += *--s.end() + 2, s.erase(s.find(*--s.end()));
		else {
			init++;
			s.insert(1);
		}
	}
	cout << init;
}

Compilation message

teleporters.cpp:12:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   12 | main() {
      | ^~~~
# Verdict Execution time Memory Grader output
1 Correct 20 ms 17876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 17916 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 17876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 17912 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 17876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 17844 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 17876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 17912 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 17916 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 17876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 17876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 18004 KB Output is correct
2 Correct 27 ms 18096 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 17980 KB Output is correct
2 Correct 29 ms 18136 KB Output is correct
3 Correct 33 ms 17872 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 17924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 18128 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 101 ms 20824 KB Output is correct
2 Correct 260 ms 23624 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 186 ms 22720 KB Output is correct
2 Correct 375 ms 24128 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 532 ms 38828 KB Output is correct
2 Correct 603 ms 41492 KB Output is correct
3 Correct 795 ms 65204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 721 ms 35268 KB Output is correct
2 Correct 755 ms 41412 KB Output is correct
3 Correct 681 ms 18116 KB Output is correct
4 Correct 672 ms 17988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 838 ms 49316 KB Output is correct
2 Correct 841 ms 56496 KB Output is correct
3 Correct 893 ms 65536 KB Output is correct
4 Correct 908 ms 65536 KB Output is correct