Submission

Status:

(-SSS)(PPP)(PPPP)(-SSSSSS)(-SSSSSS)(-SSSSSSSSSS)(-SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

{0/9}{5/5}{6/6}{0/11}{0/14}{0/25}{0/30}

Score: 11

User: qweqwe

Problemset: ผลึกเวลา (Crystal)

Language: cpp

Time: 0.025 second

Submitted On: 2026-03-26 17:31:32

#include <bits/stdc++.h>
#define qweqwe cin.tie(0)->sync_with_stdio(0)
using namespace std;
using ll = long long;
using pii = pair<ll,ll>;
using db = long double;

struct State{
	int c,uni,idx;
	bool operator<(const State& o) const{
		return tie(idx,uni,c)<tie(o.idx,o.uni,o.c);
	}
};

int main(){
	qweqwe;
	int u,k,n;cin >> u >> k >> n;
	vector<State> arr(n);
	for (int i=0;i<n;i++){
		cin >> arr[i].c >> arr[i].uni >> arr[i].idx;
	}sort(arr.begin(),arr.end());
	vector<int> tails;
	for (int i=0;i<n;i++){
		int pos = lower_bound(tails.begin(),tails.end(),arr[i].c)-tails.begin();
		if (pos >= tails.size()) tails.push_back(arr[i].c);
		else tails[pos]=arr[i].c;
	}cout << tails.size();
	return 0;
}