QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#711491#8780. Training, Round 2LogingCompile Error//C++141.5kb2024-11-05 11:26:402024-11-05 11:26:42

Judging History

你现在查看的是最新测评结果

  • [2024-11-05 11:26:42]
  • 评测
  • [2024-11-05 11:26:40]
  • 提交

answer

#include<cstdio>
#include<set>
#define M 5005
using namespace std;
struct node{
    int L1,R1,L2,R2;
}A[M];
set<int>S1[M];
bool mark[M][M];
int main(){
    int n,x,y;
    scanf("%d%d%d",&n,&x,&y);
    for(int i=1;i<=n;i++){
        scanf("%d%d%d%d",&A[i].L1,&A[i].R1,&A[i].L2,&A[i].R2);
        A[i].L1-=x;A[i].R1-=x;A[i].L2-=y;A[i].R2-=y;
    }
    S1[0].insert(0);
    int ans=0;
    for(int step=1;step<=n;step++){
        for(int i=min(n,A[step].R1);i>=max(A[step].L1,0);i--){
            A[step].L2=max(A[step].L2,0);A[step].R2=min(A[step].R2,n);
            set<int>::iterator fr=S1[i].lower_bound(A[step].L2),ed=S1[i].upper_bound(A[step].R2);
            vector<int>Add;
            set<int>::iterator nxt;
            for(set<int>::iterator it=fr;it!=ed;it=nxt){
                int d=*it;
                nxt=it;nxt++;
                mark[i][d]=true;
                if(!mark[i][d+1]){
                    Add.push_back(d+1);
                    ans=max(ans,i+d+1);
                    // printf("INSERT %d %d\n",i,d+1);
                }
                if(!mark[i+1][d]){
                    S1[i+1].insert(d);
                    ans=max(ans,i+d+1);
                    // printf("INSERT %d %d\n",i+1,d);
                }
                S1[i].erase(it);
            }
            for(int j=0;j<(int)Add.size();j++)S1[i].insert(Add[j]);
        }
    }
    printf("%d\n",ans);
    return 0;
}
/*
3 0 0             
0 1 0 1
1 1 0 1
1 1 1 1
*/

Details

answer.code: In function ‘int main()’:
answer.code:23:13: error: ‘vector’ was not declared in this scope
   23 |             vector<int>Add;
      |             ^~~~~~
answer.code:3:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
    2 | #include<set>
  +++ |+#include <vector>
    3 | #define M 5005
answer.code:23:20: error: expected primary-expression before ‘int’
   23 |             vector<int>Add;
      |                    ^~~
answer.code:30:21: error: ‘Add’ was not declared in this scope
   30 |                     Add.push_back(d+1);
      |                     ^~~
answer.code:41:32: error: ‘Add’ was not declared in this scope
   41 |             for(int j=0;j<(int)Add.size();j++)S1[i].insert(Add[j]);
      |                                ^~~
answer.code:12:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   12 |     scanf("%d%d%d",&n,&x,&y);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
answer.code:14:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   14 |         scanf("%d%d%d%d",&A[i].L1,&A[i].R1,&A[i].L2,&A[i].R2);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~