70pts 求调
查看原帖
70pts 求调
180406
FormulaOne楼主2025/7/20 14:38

rt,看不出哪里错,万分感谢。

WA on # 2 7 9

#include<iostream>
#include<cstdio>
#include<vector>
#define N 10010
using namespace std;
vector<int>G[N];
int n,k,f[N],ans,nxt[N];
int main(){
    int l,r;
    cin>>n>>k;
    while(k--){
        cin>>l>>r;
        r=l+r-1;
        G[l].push_back(r);
    }
    nxt[n+1]=n+1;
    for(int i=n;i>=0;i--)
        if(G[i].size())
            nxt[i]=i;
        else
            nxt[i]=nxt[i+1];
    G[0].push_back(0);
    for(int i=0;i<=n+1;i++){
        for(auto j:G[i]){
            f[nxt[j+1]]=max(f[nxt[j+1]],f[i]+nxt[j+1]-j-1);
        }
        if(f[i]>ans)
            cout<<i<<' '<<f[i]<<endl;
        ans=max(ans,f[i]);
    }
    cout<<ans;
    return 0;
}
2025/7/20 14:38
加载中...