1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <bits/stdc++.h>

using namespace std;

int n,t,d,cz,x=0,z=0,a,jed=0,dwa=0,zlicz[1000003],wyn=0;

vector< pair <int,int> > tab;

bool sortbysec(const pair<int,int> &a,
              const pair<int,int> &b)
{
    return (a.second < b.second);
}

int main()
{
    cin>>n;

    for(int i=0; i<n; i++)
    {
        cin>>t>>d>>cz;
        zlicz[i] = t;
        tab.push_back(make_pair(d,cz));

        if(d>x)
        x=d;

    }

    for(int i=0; i<n; i++)
    {
        a = x - tab[i].first;
        tab[i].first+=a;
        tab[i].second+=a;
        if(zlicz[i]==2)
        {
            tab[i].first++;
        }

    }
    sort(tab.begin(), tab.end(), sortbysec);

    for(int i=0; i<n; i++)
    {
       if(tab[i].first != tab[i+1].first && tab[i].second == tab[i+1].second)
       {
           wyn++;

       }
           if(tab[i].first != tab[i+1].first)
           {
               if(tab[i].second==tab[i+1].second)
               {
                   if(tab[i].first==x)
                    jed++;
                   else
                    dwa++;
               }
              else if(tab[i-1].second==tab[i].second)
               {
                   if(tab[i].first==x)
                    jed++;
                   else
                    dwa++;
               }

           }
    }
    if(dwa>jed)
        cout<<wyn-1;
    else if(jed>dwa)
        cout<<wyn-1;
    else
        cout<<wyn;


    return 0;
}