QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#711491 | #8780. Training, Round 2 | Loging | Compile Error | / | / | C++14 | 1.5kb | 2024-11-05 11:26:40 | 2024-11-05 11:26:42 |
Judging History
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); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~