一开始把这一道题想得太简单了,直接用一个50W的数组结果RE.
提交人 | 班级 | 结果 | 内存 | 时间 | 代码长度 | 语言 | 提交时间 |
mollnn | Accepted | 664kB | 17ms | 834 B | G++ | 3分钟前 | |
mollnn | Runtime Error | 2328kB | 8ms | 448 B | G++ | 4小时前 | |
mollnn | Runtime Error | 408kB | 0ms | 447 B | G++ | 4小时前 |
提供我的源代码,供参考:
#include
#include
#include
#include
#include
#include
using namespace std; struct item { int k; int n; }; int compare(const void *a,const void *b) { return (*(item*)a).n-(*(item*)b).n; } int main() { //定义变量 int i,j,n,tk,tn,fo,be; item i_tmp; //读入总数 cin>>n; //循环开始 for(i=0;i
>tk>>tn; if(tn<0)break; a[j].k=tk; a[j].n=tn; } for(;j<400;j++) { cin>>tk>>tn; if(tn<0)break; a[j].k=tk; a[j].n=tn; } qsort(a,j+1,sizeof(item),compare); for(;j>=0;j--) { int s=a[j].k; tn=a[j].n; while((j>0)&&(a[j].n==a[j-1].n)) s+=a[--j].k; if(s==0)continue; printf("[ %d %d ] ",s,tn); } printf("\n"); } return 0; }