解题思路:

注意事项:

参考代码:

#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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论