解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a0[N],a1[N],a2[N],a3[N],a4[N],a5[N],a6[N],a7[N],a8[N],a9[N];
int main()
{
int n,a,b,m;
cin>>n;
m=n/10;
long long s=0;
int x0=0,x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0;
while(n--){
cin>>a>>b;
s+=(long long)b;
if(a==0)a0[++x0]=b;
else if(a==1)a1[++x1]=b;
else if(a==2)a2[++x2]=b;
else if(a==3)a3[++x3]=b;
else if(a==4)a4[++x4]=b;
else if(a==5)a5[++x5]=b;
else if(a==6)a6[++x6]=b;
else if(a==7)a7[++x7]=b;
else if(a==8)a8[++x8]=b;
else if(a==9)a9[++x9]=b;
}
if(x0)sort(a0+1,a0+1+x0);
if(x1)sort(a1+1,a1+1+x1);
if(x2)sort(a2+1,a2+1+x2);
if(x3)sort(a3+1,a3+1+x3);
if(x4)sort(a4+1,a4+1+x4);
if(x5)sort(a5+1,a5+1+x5);
if(x6)sort(a6+1,a6+1+x6);
if(x7)sort(a7+1,a7+1+x7);
if(x8)sort(a8+1,a8+1+x8);
if(x9)sort(a9+1,a9+1+x9);
while(m--){
if(x0!=0)s-=a0[x0--];
if(x1!=0)s-=a1[x1--];
if(x2!=0)s-=a2[x2--];
if(x3!=0)s-=a3[x3--];
if(x4!=0)s-=a4[x4--];
if(x5!=0)s-=a5[x5--];
if(x6!=0)s-=a6[x6--];
if(x7!=0)s-=a7[x7--];
if(x8!=0)s-=a8[x8--];
if(x9!=0)s-=a9[x9--];
}
cout<<s;
return 0;
}
0.0分
1 人评分
字符串的输入输出处理 (C语言代码)浏览:671 |
Tom数 (C语言代码)浏览:736 |
简单的a+b (C语言代码)浏览:629 |
震宇大神的杀毒软件 (C语言代码)浏览:1241 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:974 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:615 |
C语言训练-求PI* (C语言代码)浏览:614 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:549 |
打印十字图 (C语言代码)浏览:2710 |
A+B for Input-Output Practice (III) (C语言代码)浏览:569 |