제출 #307286

#제출 시각아이디문제언어결과실행 시간메모리
307286tengiz05벽 (IOI14_wall)C++17
컴파일 에러
0 ms0 KiB
#include "wall.h" #include "grader.cpp" #include <bits/stdc++.h> using namespace std; struct segtree { struct Node { int min; int max; }; vector<Node> t; int no_max = INT_MAX; int no_min = 0; int sz; void init(int n){ sz = 1; while(sz < n)sz <<= 1; t.assign(sz*2, {0, 0}); } void modify(int Max, int Min, int node){ t[node].max = min(Max, max(Min, t[node].max)); t[node].min = min(Max, max(Min, t[node].min)); } void push(int node, int len){ if(len == 1){ t[node] = {no_min, no_max}; return; } modify(t[node].max, t[node].min, node*2); modify(t[node].max, t[node].min, node*2+1); t[node] = {no_min, no_max}; } void add(int l, int r, int L, int R, int node, int Max, int Min){ if(L >= r || R <= l)return; push(node, R-L); if(L >= l && R <= r){ modify(Max, Min, node); return; } int mid = (L+R)/2; add(l, r, L, mid, node*2, Max, Min); add(l, r, mid, R, node*2+1,Max,Min); } void add(int l, int r, int Max, int Min){ add(l, r, 0, sz, 1, Max, Min); } int get(int i, int L, int R, int node){ if(R-L == 1){ return t[node].min; } push(node, R-L); int mid = (L+R)/2; if(i < mid)return get(i, L, mid, node*2); else return get(i, mid, R, node*2+1); }int get(int i){ int ans = max(get(i, 0, sz, 1), 0); return ans; } /* void print(){ cout << '\n'; for(int i=1;i<sz*2;i++){ cout << t[i].min << ' ' << t[i].max << '\n'; }cout << "\n\n"; }*/ }; void buildWall(int n, int k, int op[], int left[], int right[], int height[], int finalHeight[]){ segtree seg; seg.init(n); for(int i=0;i<k;i++){ // seg.print(); if(op[i] == 2){ // add seg.add(left[i], right[i]+1, height[i], seg.no_min); }else { // remove seg.add(left[i], right[i]+1, seg.no_max, height[i]); } }//seg.print(); for(int i=0;i<n;i++){ finalHeight[i] = seg.get(i); // seg.print(); } return; } /* 10 6 1 1 8 4 2 4 9 1 2 3 6 5 1 0 5 3 1 2 2 5 2 6 7 0 */

컴파일 시 표준 에러 (stderr) 메시지

/tmp/cc1yaKFQ.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccQ10CHT.o:wall.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status