社区讨论

求这篇代码RE的原因~在线等,挺急的

灌水区参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lobl6eex
此快照首次捕获于
2023/10/29 22:48
2 年前
此快照最后确认于
2023/11/04 03:44
2 年前
查看原帖

P1083 [NOIP2012 提高组] 借教室

CPP
	#include <bits/stdc++.h>
    using namespace std;
    struct xun{
        int c,start,end;
    }b[1000];
    int cf[1000],a[1000];
    int main(){
        int n, m;
        cin>>n>>m;
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        for(int i=1;i<=n;i++){
            cin>>b[i].c>>b[i].start>>b[i].end;
            cf[b[i].start]+=b[i].c;
            cf[b[i].end+1]-=b[i].c;
        }
    //////////////////////////////////    
        int sum=0,ans=-1,f=0;
        for(int i=1;i<=n;i++){
            sum+=cf[i];
            if(sum>a[i]){
                for(int p;sum>a[i];m--){
                    cf[b[m].start]-=b[m].c;
                    cf[b[m].end+1]+=b[m].c;
                    if(b[m].start<=i&&i<=b[m].end);
                }

                if(f==1){
                    ans=m;
                    f=0;
                }
                else{
                    ans=min(ans,m);
                }
            }
        }
    //////////////////////////////////
        if(ans==-1){
            cout<<"0";
        }
        else{
            printf("-1 \n %d",ans);
        }
        return 0;
    }

回复

1 条回复,欢迎继续交流。

正在加载回复...