Submission #122895

#TimeUsernameProblemLanguageResultExecution timeMemory
122895arthurconmyTeleporters (IOI08_teleporters)C++14
0 / 100
437 ms24412 KiB
/* Arthur Conmy / arthurconmy */
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
#include <map>
#include <queue>
#include <bitset>
#include <random>
#include <stack>
#include <deque>
#include <chrono>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vll;
typedef vector<bool> vb;
typedef pair<int,int> pii;
#define REP(i, a, b) for (int i = int(a); i <= int(b); i++)
#define REPb(j, d, c) for (int j = int(d); j >= int(c); j--)
#define ff first
#define ss second
#define pb push_back
#define len(x) int((x).size())
#define endl "\n"

const int MAXN=2e6;

int tp_goto[MAXN + 2];
int next_tp[MAXN + 2];

int main() // LL OR INT?? DELETED IFSTREAM??
{
	#ifdef LOCAL
		ifstream cin("input.txt");
	#endif

	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	int n,m;
	cin>>n>>m;

	vector<pii> tps;

	REP(i,1,n)
	{
		int l,r;
		cin>>l>>r;

		tps.pb({l,r});

		tp_goto[l]=r;
		tp_goto[r]=l;

		next_tp[l-1]=l;
		next_tp[r-1]=r;
	}

	next_tp[int(2e6) + 1] = int(1e9);

	REPb(i,2e6,0)
	{
		if(next_tp[i]!=0) continue;
		next_tp[i]=next_tp[i+1];
	}

	int score=0;
	int cur=0;

	while(true)
	{
		cur=next_tp[cur];
		if(cur==int(1e9)) break;

		score++;
		cur=tp_goto[cur];
	}

	cout << score+m << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...