Cod sursa(job #2309396)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 28 decembrie 2018 22:27:51
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("cutii.in");
ofstream fout("cutii.out");

struct cut{
	int x,y,z;
};

bool cmp(cut a, cut b){
	if(a.x==b.x){
		if(a.y==b.y){
			return a.z>=b.z;
		}
		return a.y>=b.y;
	}
	return a.x>=b.x;
}

bool cmpb(cut a, cut b){
	return a.x>=b.x && a.y>=b.y && a.z>=b.z;
}

cut C[3510],S[3510];
int A[3510],n,sol,t;

int main(){
	fin>>n>>t;
	while(t--){
		sol=1;
		for(int i=0;i<n;i++){
			fin>>C[i].x>>C[i].y>>C[i].z;
			A[i]=1;
		}
		sort(C,C+n,cmp);
		S[0]=C[0];
		for(int i=1;i<n;i++){
			int ind=lower_bound(S,S+sol,C[i],cmpb)-S;
			if(ind<sol){
				S[ind]=C[i];
			}else{
				S[sol++]=C[i];
			}
		}
		fout<<sol<<'\n';
	}
}