Submission #1265041

#TimeUsernameProblemLanguageResultExecution timeMemory
1265041canhnam357Wall (IOI14_wall)C++20
Compilation error
0 ms0 KiB
#pragma optimization_level 3 #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx") #pragma GCC optimize("Ofast")//Comment optimisations for interactive problems (use endl) #pragma GCC target("avx,avx2,fma") #pragma GCC optimization ("unroll-loops") #include <bits/stdc++.h> #include <unordered_map> #include <unordered_set> #include "wall.h" using namespace std; typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef vector <int> vi; typedef vector <ll> vll; typedef vector <string> vs; typedef vector <vector <int>> vvi; typedef vector <vll> vvll; typedef map<int, int> mi; typedef map<string, int> ms; typedef map<char, int> mc; typedef map <int, bool> mb; typedef map<ll, ll> mll; typedef unordered_map<int, int> umi; typedef unordered_map<string, int> ums; typedef unordered_map<char, int> umc; typedef unordered_map <int, bool> umb; typedef unordered_map<ll, ll> umll; typedef vector <ld> vld; typedef vector <bool> vb; typedef pair <int, int> pii; typedef pair<ll, ll> pll; typedef vector <pii> vpii; typedef vector <pll> vpll; #define FOR(i,N) for(ll i = 0 ; i < N;i++) #define eFOR(i,a,b) for(ll i = a; i <=b;i++) #define dFOR(i,N) for(ll i = N - 1; i>=0;i--) #define edFOR(i,b,a) for(ll i = b ; i >=a;i--) #define all(x) x.begin(),x.end() #define SORT(x) sort(all(x)) #define RSORT(x) sort(x.rbegin(), x.rend()) #define UNQ(x) unique(all(x)) #define mine(x) min_element(all(x)) #define maxe(x) max_element(all(x)) #define lb(v, x) lower_bound(all(v) , x) #define ub(v, x) upper_bound(all(v) , x) #define pb push_back #define FIX cout << fixed << setprecision(1) #define g(i , a) get<i>(a) const long double PI = 3.141592653589793; const ll mod = 1e9; bool prime(ll n) { if (n <= 1) return false; if (n == 2 or n == 3) return true; if (n % 2 == 0 or n % 3 == 0) return false; for (ll i = 5; i * i <= n; i += 6) if (n % i == 0 || n % (i + 2) == 0) return false; return true; } ll __gcd(ll a, ll b) { return !b ? a : __gcd(b, a % b); } ll power(ll a, ll b, ll MOD) { ll x = a, res = 1, p = b; while (p > 0) { if (p & 1) res *= x; x *= x; p >>= 1; x %= MOD, res %= MOD; } return res; } int CASE = 1; const int mxn = 1e5 + 1; const ll infll = 1e18; const int infi = 1e9 + 1; vi mx(1 << 22, 0), mn(1 << 22, 0), lazy(1 << 22, -1); void push(int id, int half) { if (lazy[id] != -1) { mn[id << 1] = mx[id << 1] = mn[id << 1 | 1] = mx[id << 1 | 1] = lazy[id << 1] = lazy[id << 1 | 1] = lazy[id]; lazy[id] = -1; } } void ope1(int u, int v, int x, int id = 1, int l = 1, int r = 1 << 21) { if (r < u || l > v || mn[id] >= x) return; if (l >= u && r <= v && mx[id] <= x) { mn[id] = mx[id] = lazy[id] = x; return; } push(id, (r - l + 1) >> 1); int mid = (l + r) >> 1; ope1(u, v, x, id << 1, l, mid); ope1(u, v, x, id << 1 | 1, mid + 1, r); mn[id] = min(mn[id << 1], mn[id << 1 | 1]); mx[id] = max(mx[id << 1], mx[id << 1 | 1]); } void ope2(int u, int v, int x, int id = 1, int l = 1, int r = 1 << 21) { if (r < u || l > v || mx[id] <= x) return; if (l >= u && r <= v && mn[id] >= x) { mn[id] = mx[id] = lazy[id] = x; return; } push(id, (r - l + 1) >> 1); int mid = (l + r) >> 1; ope2(u, v, x, id << 1, l, mid); ope2(u, v, x, id << 1 | 1, mid + 1, r); mn[id] = min(mn[id << 1], mn[id << 1 | 1]); mx[id] = max(mx[id << 1], mx[id << 1 | 1]); } int get(int pos, int id = 1, int l = 1, int r = 1 << 21) { if (pos < l || pos > r) return 0; if (l == r) return mx[id]; push(id, (r - l + 1) >> 1); int mid = (l + r) >> 1; return get(pos, id << 1, l, mid) + get(pos, id << 1 | 1, mid + 1, r); } void buildWall(int n, int k, int op[], int left[], int right[], int height[], int finalHeight[]) { for (int i = 0; i < k; i++) { left[i]++; right[i]++; if (op[i] == 1) { ope1(left[i], right[i], height[i]); } else { ope2(left[i], right[i], height[i]); } } for (int i = 1; i <= n; i++) { finalHeight[i - 1] = get(i); } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccUFXClo.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc8UpO6R.o:wall.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status