Submission #1207305

#TimeUsernameProblemLanguageResultExecution timeMemory
1207305simplemind_31Wall (IOI14_wall)C++20
Compilation error
0 ms0 KiB
#include "wall.h" #include <bits/stdc++.h> using namespace std; void buildWall(int n, int k, int op[], int left[], int right[], int height[], int finalHeight[]){ if(n<=10000 && k<=5000){ for(int i=0;i<n;i++){ finalHeight[i]=0; } for(int i=0;i<k;i++){ for(int j=left[i];j<=right[i];j++){ if(op[i]==1){ finalHeight[j]=max(finalHeight[j],height[i]); }else{ finalHeight[j]=min(finalHeight[j],height[i]); } } } }else{ for(int i=0;i<n;i++){ finalHeight[i]=0; } vector<vector<int>> add(n),remove(n); for(int i=0;i<k;i++){ if(op[i]==1){ add[left[i]].push_back(i); remove[right[i]].push_back(i); } } set<pair<int,int>> posi; posi.insert({0,-1}); for(int i=0;i<n;i++){ for(int j=0;j<add[i].size();j++){ posi.insert({height[add[i][j]],add[i][j]}); } for(int j=0;j<remove[i].size();j++){ posi.erase({height[remove[i][j]],remove[i][j]}); } auto p=posi.end(); p--; finalHeight[i]=p->first; } add.clear(); remove.clear(); add.resize(n); remove.resize(n); for(int i=0;i<k;i++){ if(op[i]==2){ add[left[i]].push_back(i); remove[right[i]].push_back(i); } } set<pair<int,int>> posi; posi.insert({1e9,-1}); for(int i=0;i<n;i++){ for(int j=0;j<add[i].size();j++){ posi.insert({height[add[i][j]],add[i][j]}); } for(int j=0;j<remove[i].size();j++){ posi.erase({height[remove[i][j]],remove[i][j]}); } auto p=posi.begin(); finalHeight[i]=min(finalHeight[i],p->first); } } return; }

Compilation message (stderr)

wall.cpp: In function 'void buildWall(int, int, int*, int*, int*, int*, int*)':
wall.cpp:52:24: error: redeclaration of 'std::set<std::pair<int, int> > posi'
   52 |     set<pair<int,int>> posi;
      |                        ^~~~
wall.cpp:29:24: note: 'std::set<std::pair<int, int> > posi' previously declared here
   29 |     set<pair<int,int>> posi;
      |                        ^~~~