#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; } |