百度安卓开发第三题礼物题求指点
只通过了60%,说是时间超限制,求帮忙看看 #include <iostream> #include <stdlib.h> #include <math.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ #define MAX 100000 int comp(const void*a,const void*b) { return *(int*)a-*(int*)b; } int main(int argc, char** argv) { int n; int k; int sum=0; int gift[MAX]; int pre[MAX]; scanf("%d",&n); scanf("%d",&k); for(int i=0;i<n;i++) scanf("%d",&gift[i]); for(int i=0;i<k;i++) { pre[i]=gift[i]; sum+=pre[i]; } //将目前最喜欢的礼物排序 printf("%d ",sum); qsort(pre,k,sizeof(int),comp); for(int i=k;i<n;i++) { if(gift[i]>pre[0]) { sum+=gift[i]-pre[0]; pre[0]=gift[i]; qsort(pre,k,sizeof(int),comp); printf("%d ",sum); } else printf("%d ",sum); } return 0; }
#百度##安卓工程师#