Решение задачи Экзамены с Codeforces

Без пояснения   Просмотров: 53


Студент Валера учится на первом курсе университета. Скоро у него сессия, и ему предстоит сдать ровно n экзаменов. Валера — умный парень, поэтому он сможет сдать любой экзамен с первого раза. Кроме того, он может сдавать несколько экзаменов в один день и в любом порядке.

Согласно расписанию, экзамен по i-му предмету нужно сдать в день с номером ai. Однако Валера договорился с каждым преподавателем, и преподаватель i-го предмета разрешил организовать досрочную сдачу своего экзамена в день bi (bi < ai). Таким образом, Валера может сдать экзамен по i-му предмету либо в день ai, либо в день bi. Все преподаватели ставят запись о сдаче экзамена в зачетную книжку в день фактической сдачи экзамена и датируют эту запись числом ai.

Валера считает, что будет достаточно странно, если записи в зачетной книжке будут идти не в порядке неубывания даты. Поэтому Валера просит вас помочь ему. Найдите минимально возможный номер дня, когда Валера сможет сдать последний экзамен, если он будет сдавать экзамены так, чтобы все записи в его зачетной книжке шли в порядке неубывания даты.

Код

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	vector < pair<int,int> > v;
	int a,b;
	for(int i = 0;i < n; i++)
	{
		cin >> a >> b;
		v.push_back(make_pair(a,b));
	}
	sort(v.begin(),v.end());
	int best = -1;
	for(int i = 0; i < n; i++)
	{
		if(best <= v[i].second)
			best = v[i].second;
		else
			best = v[i].first;
	}
	cout << best;
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться