惨新求助

P1280 尼克的任务

#include <bits/stdc++.h> using namespace std; int dp[10005]; struct UZI{ int P,T; }a[10005]; int N,K; bool cmp(UZI &x,UZI &y){ return x.P>y.P; } int main() { cin>>N>>K; for(int i=1;i<=K;i++){ cin>>a[i].P>>a[i].T; } sort(a+1,a+K+1,cmp); int pos=1; for(int i=N;i>=1;i--){ dp[i]=0; bool flag=false; while(pos<=K&&a[pos].P==i){ flag=true; dp[i]=max(dp[i],dp[a[pos].P+a[pos].T]); pos++; } if(!flag)dp[i]=dp[i+1]+1; } cout<<dp[1]<<endl; return 0; }
by 何承翰 @ 2019-08-10 11:40:19


|