社区讨论
为什么显示 too long on line?
P1926小书童——刷题大军参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi6o0uoz
- 此快照首次捕获于
- 2025/11/20 08:00 4 个月前
- 此快照最后确认于
- 2025/11/20 08:00 4 个月前
#include<stdlib.h>
#include<string.h>
typedef struct zy
{
int time;
int score;
} zy;
int cmp(const void *a,const void *b)
{
int *aa=(int *)a;
int *bb=(int *)b;
return *aa>*bb?1:-1;
}
int max(int i,int j)
{
return i>j?i:j;
}
int main()
{
int n,m,k,r;
scanf("%d%d%d%d",&n,&m,&k,&r);
//基本数据录入
int ti[n+2];
zy zuoye[m+2];
for(int i=0;i<n;i++)
scanf("%d",&ti[i]);
for(int i=1;i<=m;i++)
scanf("%d",&zuoye[i].time);
for(int i=1;i<=m;i++)
scanf("%d",&zuoye[i].score);
//作业数据录入
qsort(ti,n,sizeof(int),cmp);
int mapp[r+3][m+3];
memset(mapp,0,sizeof(mapp));
for(int t=1;t<=r;t++)
for(int j=1;j<=m;j++)
if(t>=zuoye[j].time)
mapp[t][j]=max(mapp[t][j-1],mapp[t-zuoye[j].time][j-
1]+zuoye[j].score);
else
mapp[t][j]=mapp[t][j-1];
for(int t=1;t<=r;t++)
if(mapp[t][m]>k)
{
r-=t;
break;
}
//printf("%d",r);
for(int i=0;i<n;i++)
if(r>=ti[i])
r-=ti[i];
else
printf("%d",i);
return 0;
}
在自己家电脑上会显示 在这边会显示 too long on line?
回复
共 5 条回复,欢迎继续交流。
正在加载回复...