满足70%测试数据的代码:
#include <stdio.h> int main() { int i,n,m; scanf("%d%d",&n,&m); int depend[m],during[m]; for(i=0;i<m;i++) { scanf("%d",&depend[i]); //是否依赖科目 } for(i=0;i<m;i++) { scanf("%d",&during[i]); //完成训练所需时间 } int start[m],end[m]; //start数组记录最早开始时间 end记录最早结束时间 start[0]=1; end[0]=during[0]; for(i=1;i<m;i++) { //如果需要依赖科目,则最早开始时间为依赖科目的后一天 if(depend[i]) {start[i]=end[depend[i]-1]+1;} else start[i]=1; end[i]=start[i]+during[i]-1; } for(i=0;i<m;i++) { printf("%d ",start[i]); } return 0; }