1 条题解
-
1
#include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<queue> #include<cstring> using namespace std; int arr[100005]; queue<int>qk; queue<int>qd; queue<int>qm; queue<int>qf; int k,d,m,f; int q; int q1,q2,q3; double res; bool cmp(int c1,int c2){ return c1>c2; } int main(){ scanf("%d %d %d %d",&k,&d,&m,&f); for(int i=0;i<k;i+=1){ scanf("%d",&arr[i]); } sort(arr,arr+k,cmp); for(int i=0;i<k;i+=1){ qk.push(arr[i]); } memset(arr,0,sizeof(arr)); for(int i=0;i<d;i+=1){ scanf("%d",&arr[i]); } sort(arr,arr+d,cmp); for(int i=0;i<d;i+=1){ qd.push(arr[i]); } memset(arr,0,sizeof(arr)); for(int i=0;i<m;i+=1){ scanf("%d",&arr[i]); } sort(arr,arr+m,cmp); for(int i=0;i<m;i+=1){ qm.push(arr[i]); } memset(arr,0,sizeof(arr)); for(int i=0;i<f;i+=1){ scanf("%d",&arr[i]); } sort(arr,arr+f,cmp); for(int i=0;i<f;i+=1){ qf.push(arr[i]); } cin >> q; for(int i=1;i<=q;i+=1){ scanf("%d %d %d",&q1,&q2,&q3); res = 0; for(int j=1;j<=q1;j+=1){ res += qd.front(); qd.pop(); } for(int j=1;j<=q2;j+=1){ res += qm.front(); qm.pop(); } for(int j=1;j<=q3;j+=1){ res += qf.front(); qf.pop(); } res+=qk.front(); qk.pop(); res = res*1.0/11; printf("%.2lf\n",res); } return 0; }
- 1
信息
- ID
- 2820
- 时间
- 1000ms
- 内存
- 250MiB
- 难度
- 2
- 标签
- 递交数
- 5
- 已通过
- 4
- 上传者