Cod sursa(job #2212411)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 13 iunie 2018 22:42:35
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

struct cutie{
	int x,y,z;
	long long v;
};
vector <cutie> p;
bool incape(cutie a, cutie b){ //b in a
	return (a.x<b.x && a.y<b.y && a.z<b.z);
}
bool sortc(cutie a, cutie b){ //b in a
	return a.v<b.v;
}
int main(){
	int n,t,mx,a[3500];
	cutie c;
	ifstream fin("cutii.in");
	ofstream fout("cutii.out");
	fin>>n>>t;
	for (int i=0;i<t;i++){
		for(int j=0;j<n;j++){
			fin>>c.x>>c.y>>c.z;
			c.v=c.x*c.y*c.z;
			p.push_back(c);
		}
	 sort(p.begin(),p.end(),sortc);
	  for (int j=0;j<n;j++) a[j]=1;
	  for (int j=1;j<n;j++)
	   for(int k=0;k<j;k++)
	    if (incape(p[k],p[j]) && a[j]<=a[k]){
		a[j]=a[k]+1;
		mx = max(a[j],mx);
		}
	 fout<<mx<<'\n';
	 mx=1;
	 p.clear();
	}
	return 0;
}