为啥过不了20分求助

P2430 严酷的训练

好了,ac了,我把第二重循环的终止条件改为了j>=t[p[i]],因为这里的滚动终止在第i个的做题时间
by AdGats @ 2019-12-08 21:15:57


最后时隔这么久还是把ac代码送给大家吧: ```cpp #include<bits/stdc++.h> using namespace std; int read(){ char c; int f=1,a=0; c=getchar(); while(c<'0'||c>'9'){ if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9'){ a=a*10+c-'0'; c=getchar(); } return a*=f; } const int N=5e3+5; int t[N],q[N],p[N],dp[N]; int main(){ int n,m,spc,spp,tt; spc=read(); spp=read(); spc=spp/spc; cin>>m>>n; for(int i=1;i<=n;i++) t[i]=read()*spc; for(int i=1;i<=m;i++){ p[i]=read(); q[i]=read(); } cin>>tt; for(int i=1;i<=m;i++){ for(int j=tt;j>=t[p[i];j--){ dp[j]=max(dp[j-t[p[i]]]+q[i],dp[j]); } } printf("%d",dp[tt]); return 0; } ```
by AdGats @ 2020-02-21 21:41:18


可以借鉴莫抄啊
by AdGats @ 2020-02-21 21:42:40


@[tony_tzh](/user/209758) 做了个小手脚
by AdGats @ 2020-02-21 21:43:22


|