70 2021. 01. 09 22:38:39 Babják Péter Robotok cpp14 Elfogadva 50/50 39ms 13736 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
struct d
{
	int f,s;	
};
struct cmp
{
	bool operator()(const d &a, const d &b)
	{
		if(a.s==b.s)
		{
			return a.f<b.f;
		}
		return a.s<b.s;
	}	
};
int main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int n,m,k;
    cin>>n>>m>>k;
    d r[k];
    for(int i=0;i<k;i++)
    {
    	cin>>r[i].f>>r[i].s;
	}
	sort(r,r+k,cmp());
	vector<int>ans;
	ans.push_back(r[0].f);
	for(int i=1;i<k;i++)
	{
		vector<int>::iterator up;
		up=upper_bound(ans.begin(),ans.end(),r[i].f,greater<int>());
		int z=up-ans.begin();
		if(ans[z-1]==r[i].f)
		{
			continue;		
		}
		if(up==ans.end())
		{
			ans.push_back(r[i].f);
		}
		else
		{
			ans[z]=r[i].f;
		}
	}
	cout<<ans.size()<<endl;
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1756 KiB
2 Elfogadva 0/0 28ms 4052 KiB
3 Elfogadva 2/2 1ms 2776 KiB
4 Elfogadva 2/2 1ms 2804 KiB
5 Elfogadva 2/2 1ms 2808 KiB
6 Elfogadva 2/2 3ms 2828 KiB
7 Elfogadva 2/2 2ms 2856 KiB
8 Elfogadva 2/2 1ms 2860 KiB
9 Elfogadva 2/2 1ms 2880 KiB
10 Elfogadva 2/2 1ms 2900 KiB
11 Elfogadva 2/2 6ms 3316 KiB
12 Elfogadva 2/2 16ms 4192 KiB
13 Elfogadva 2/2 1ms 3420 KiB
14 Elfogadva 2/2 39ms 6868 KiB
15 Elfogadva 2/2 29ms 8016 KiB
16 Elfogadva 2/2 34ms 9164 KiB
17 Elfogadva 4/4 32ms 10228 KiB
18 Elfogadva 6/6 39ms 11488 KiB
19 Elfogadva 6/6 35ms 12620 KiB
20 Elfogadva 6/6 32ms 13736 KiB