#include <bits/stdc++.h>
using namespace std;
typedef long long lld;
typedef pair<int,int> pii;
typedef pair<lld,lld> pll;
typedef vector<int> vint;
#define ff first
#define ss second
#define mp make_pair
#define pb push_back
pii t[1<<20];
int n,a,b,r;
int wyn=0;
int main(){
scanf("%d",&n);
for(int i=0;i<n;++i){
scanf("%d%d%d",&r,&a,&b);
t[i]=mp(a-b,r);
}
sort(t,t+n);
a=0; b=0;
for(int i=0;i<n;++i){
if(t[i].ss==1) ++a; else ++b;
if(t[i].ff!=t[i+1].ff){
wyn+=min(a,b);
a=0; b=0;
}
}
wyn+=min(a,b);
printf("%d",wyn);
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 | #include <bits/stdc++.h> using namespace std; typedef long long lld; typedef pair<int,int> pii; typedef pair<lld,lld> pll; typedef vector<int> vint; #define ff first #define ss second #define mp make_pair #define pb push_back pii t[1<<20]; int n,a,b,r; int wyn=0; int main(){ scanf("%d",&n); for(int i=0;i<n;++i){ scanf("%d%d%d",&r,&a,&b); t[i]=mp(a-b,r); } sort(t,t+n); a=0; b=0; for(int i=0;i<n;++i){ if(t[i].ss==1) ++a; else ++b; if(t[i].ff!=t[i+1].ff){ wyn+=min(a,b); a=0; b=0; } } wyn+=min(a,b); printf("%d",wyn); return 0; } |
English