#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int tx1[N];
int tx2[N];
int ty1[N];
int ty2[N];
int n;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
int minx = -1, miny = -1, maxx = -1, maxy = -1;
for(int i = 1; i <= n; i++){
int r, w, t;
cin >> r >> w >> t;
if(r == 1){
if(w - t >= 0){
tx1[w - t]++;
maxx = max(maxx, w - t);
}
else{
tx2[t - w]++;
minx = max(minx, t - w);
}
}
else{
if(w - t >= 0){
ty1[w - t]++;
maxy = max(maxy, w - t);
}
else{
ty2[t - w]++;
miny = max(miny, t - w);
}
}
}
int mi = max(miny, minx);
int ma = max(maxx, maxy);
int wynik = 0;
for(int i = 0; i <= mi; i++){
wynik += min(tx2[i], ty2[i]);
}
for(int i = 0; i <= ma; i++){
wynik += min(tx1[i], ty1[i]);
}
cout << wynik;
}
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 | #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 5; int tx1[N]; int tx2[N]; int ty1[N]; int ty2[N]; int n; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> n; int minx = -1, miny = -1, maxx = -1, maxy = -1; for(int i = 1; i <= n; i++){ int r, w, t; cin >> r >> w >> t; if(r == 1){ if(w - t >= 0){ tx1[w - t]++; maxx = max(maxx, w - t); } else{ tx2[t - w]++; minx = max(minx, t - w); } } else{ if(w - t >= 0){ ty1[w - t]++; maxy = max(maxy, w - t); } else{ ty2[t - w]++; miny = max(miny, t - w); } } } int mi = max(miny, minx); int ma = max(maxx, maxy); int wynik = 0; for(int i = 0; i <= mi; i++){ wynik += min(tx2[i], ty2[i]); } for(int i = 0; i <= ma; i++){ wynik += min(tx1[i], ty1[i]); } cout << wynik; } |
English