Cod sursa(job #2953670)

Utilizator Chris_BlackBlaga Cristian Chris_Black Data 11 decembrie 2022 22:36:52
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("cutii.in");
ofstream cout("cutii.out");
const int N = 3509;
int n,t;
vector<int> aib,L,p;
struct cuti
{
    int x,y,z;
    bool operator < (cuti b)
    {
        return (x<b.x&&y<b.y&&z<b.z);
    }
    bool operator <= (cuti b)
    {
        return (x<b.x&&y<b.y&&z<b.z)||(x==b.x&&y==b.y&&z==b.z);
    }
    bool operator == (cuti b)
    {
        return (x==b.x&&y==b.y&&z==b.z);
    }
    bool operator > (cuti b)
    {
        return (x>b.x&&y>b.y&&z>b.z);
    }
    bool operator >= (cuti b)
    {
        return (x>b.x&&y>b.y&&z>b.z)||(x==b.x&&y==b.y&&z==b.z);
    }
};
vector<cuti> a,b;
int Query(int x)
{
    int maxi = 0;
    for(int i = x; i; i -= i&-i)
        maxi = max(aib[i],maxi);
    return maxi;
}

void Update(int poz,int val)
{
    for(int i = poz; i<= n ; i+=i&-i)
        aib[i] = max(aib[i],val);
}

int main()
{
    cin>>n>>t;
    while(t--)
    {
        int ans = 1;
        aib = L = p = vector<int>(n+4);
        a = b = vector<cuti> (n);
        for(int i=0;i<n;++i)
            cin>>a[i].x>>a[i].y>>a[i].z;
        sort(a.begin(),a.end());
        for(int i=1;i<n;++i)
            if(a[i-1]<a[i])
                ans++;
        cout<<ans<<'\n';
    }
    return 0;
}