Submission #384055

#TimeUsernameProblemLanguageResultExecution timeMemory
384055MODDIDancing Elephants (IOI11_elephants)C++14
0 / 100
30 ms29036 KiB
#include "elephants.h" #include <bits/stdc++.h> #define ll long long #define pii pair<int,int> #define pll pair<ll,ll> #define vi vector<int> #define vl vector<ll> #define mp make_pair #define pb push_back using namespace std; vi tree[4 * 150000], arr; int Ltree[4 * 150000], l, n; int calc(vi pos){ int rez = 0, last = -1; for(int i = 0; i < (int)pos.size(); i++){ if(pos[i] > last) { last = pos[i] + l; rez++; } else continue; } } void build(int node, int l, int r){ if(l == r){ tree[node].pb(arr[l]); Ltree[node] = 1; } else{ int mid = (l + r) / 2; build(node * 2, l, mid); build(node * 2 + 1, mid + 1, r); merge(tree[node * 2].begin(), tree[node * 2].end(), tree[node * 2 + 1].begin(), tree[node * 2 + 1].end(), back_inserter(tree[node])); Ltree[node] = calc(tree[node]); } } void update1(int node, int l, int r, int pos, int val){ if(l == r && l == pos){ tree[node].clear(); tree[node].pb(val); Ltree[node] = 1; } else{ int mid = (l + r) / 2; if(mid <= pos){ update1(node * 2, l, mid, pos, val); } else update1(node * 2 + 1, mid + 1, r, pos, val); merge(tree[node * 2].begin(), tree[node * 2].end(), tree[node * 2 + 1].begin(), tree[node * 2 + 1].end(), back_inserter(tree[node])); Ltree[node] = calc(tree[node]); } } void init(int N, int L, int X[]) { n = N; l = L; arr.resize(n); for(int i = 0; i < n; i++){ arr[i] = X[i]; } build(1, 0, n - 1); } int update(int i, int y) { update1(1, 0, n - 1, i, y); return Ltree[1]; }

Compilation message (stderr)

elephants.cpp: In function 'int calc(std::vector<int>)':
elephants.cpp:24:1: warning: no return statement in function returning non-void [-Wreturn-type]
   24 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...