#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
long long a;
long long b;
long long t;
long long ilo;
long long odwolania=0;
long long j = 0;
vector<long long>x;
vector<long long>y;
cin >> ilo;
for (long long i = 0; i < ilo; i++)
{
cin >> a >> b >> t;
if (a == 1)
x.push_back(b - t);
else
y.push_back(b - t);
}
if((x.size()==0)||(y.size()==0))
odwolania = 0;
else
{
sort(x.begin(), x.end());
sort(y.begin(), y.end());
a = x[0];
b = 0;
for (long long i = 0; i < x.size(); i++)
{
if (a == x[i])
b++;
else
{
while (x[i - 1] > y[j])
{
if (j == y.size() - 1)
break;
j++;
}
t = 0;
while (x[i - 1] == y[j])
{
t++;
if (j == y.size() - 1)
break;
j++;
}
if (t <= b)
odwolania = odwolania + t;
else
odwolania = odwolania + b;
a = x[i];
b = 1;
}
}
while (x[x.size() - 1] > y[j])
{
if (j == y.size() - 1)
break;
j++;
}
t = 0;
while (x[x.size() - 1] == y[j])
{
t++;
if (j == y.size() - 1)
break;
j++;
}
if (t <= b)
odwolania = odwolania + t;
else
odwolania = odwolania + b;
}
cout << odwolania;
return 0;
}
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 79 80 81 | #include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { long long a; long long b; long long t; long long ilo; long long odwolania=0; long long j = 0; vector<long long>x; vector<long long>y; cin >> ilo; for (long long i = 0; i < ilo; i++) { cin >> a >> b >> t; if (a == 1) x.push_back(b - t); else y.push_back(b - t); } if((x.size()==0)||(y.size()==0)) odwolania = 0; else { sort(x.begin(), x.end()); sort(y.begin(), y.end()); a = x[0]; b = 0; for (long long i = 0; i < x.size(); i++) { if (a == x[i]) b++; else { while (x[i - 1] > y[j]) { if (j == y.size() - 1) break; j++; } t = 0; while (x[i - 1] == y[j]) { t++; if (j == y.size() - 1) break; j++; } if (t <= b) odwolania = odwolania + t; else odwolania = odwolania + b; a = x[i]; b = 1; } } while (x[x.size() - 1] > y[j]) { if (j == y.size() - 1) break; j++; } t = 0; while (x[x.size() - 1] == y[j]) { t++; if (j == y.size() - 1) break; j++; } if (t <= b) odwolania = odwolania + t; else odwolania = odwolania + b; } cout << odwolania; return 0; } |
English