## Submission #926332

# Submission time Handle Problem Language Result Execution time Memory
926332 2024-02-12T19:32:37 Z VMaksimoski008 Meteors (POI11_met) C++14
74 / 100
133 ms 65536 KB
```#include <bits/stdc++.h>
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()

using namespace std;
using ll = long long;

struct BIT {
int n;
vector<int> tree;

void config(int _n) {
n = _n + 2;
tree.resize(_n+10);
}

void add(int p, int v) {
for(p++; p<n; p+=p&-p) tree[p] += v;
}

ll query(int p) {
ll ans = 0;
for(p++; p>0; p-=p&-p) ans += tree[p];
return ans;
}

ll sum(int l, int r) { return query(r) - query(l-1); }
void clear() { for(auto &x : tree) x = 0; }
};

struct Query { int l, r, x; };

int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);

int n, m, it, i;
ll total = 0;
cin >> n >> m;

vector<int> owner[n+5];
for(i=1; i<=m; i++) {
int x;
cin >> x;
owner[x].push_back(i);
}

int req[n+5];
for(i=1; i<=n; i++) cin >> req[i];

int k;
cin >> k;
Query qus[k+5], q;
for(i=1; i<=k; i++)
cin >> qus[i].l >> qus[i].r >> qus[i].x;

vector<int> L(n+5, 1), R(n+5, k+1);
bool changed = true;

BIT bit;
bit.config(m+1);
vector<stack<int> > to_check(k+5);
while(changed) {
changed = false;

bit.clear();

for(i=1; i<=n; i++)
if(L[i] != R[i]) to_check[(L[i]+R[i])/2].push(i);

for(it=1; it<=k; it++) {
q = qus[it];

if(q.l <= q.r) {
} else {

}

while(!to_check[it].empty()) {
changed = true;

int u = to_check[it].top();
to_check[it].pop();

total = 0;
for(int &x : owner[u]) {
total += bit.query(x);
if(total > req[u]) break;
}

if(total >= req[u]) R[u] = it;
else L[u] = it + 1;
}
}
}

for(i=1; i<=n; i++) {
if(L[i] <= k) cout << L[i] << '\n';
else cout << "NIE\n";
}
return 0;
}```

#### Subtask #1 12.0 / 12.0

# Verdict Execution time Memory Grader output
1 Correct 1 ms 1116 KB Output is correct
2 Correct 1 ms 1116 KB Output is correct
3 Correct 1 ms 1116 KB Output is correct

#### Subtask #2 12.0 / 12.0

# Verdict Execution time Memory Grader output
1 Correct 1 ms 1116 KB Output is correct
2 Correct 1 ms 860 KB Output is correct
3 Correct 1 ms 1116 KB Output is correct

#### Subtask #3 12.0 / 12.0

# Verdict Execution time Memory Grader output
1 Correct 59 ms 35420 KB Output is correct
2 Correct 90 ms 36444 KB Output is correct
3 Correct 82 ms 35936 KB Output is correct

#### Subtask #4 12.0 / 12.0

# Verdict Execution time Memory Grader output
1 Correct 82 ms 35684 KB Output is correct
2 Correct 89 ms 35920 KB Output is correct
3 Correct 90 ms 36444 KB Output is correct
4 Correct 22 ms 5208 KB Output is correct

#### Subtask #5 13.0 / 13.0

# Verdict Execution time Memory Grader output
1 Correct 66 ms 35084 KB Output is correct
2 Correct 73 ms 36692 KB Output is correct
3 Correct 50 ms 34828 KB Output is correct
4 Correct 88 ms 36160 KB Output is correct

#### Subtask #6 13.0 / 13.0

# Verdict Execution time Memory Grader output
1 Correct 73 ms 35160 KB Output is correct
2 Correct 81 ms 35644 KB Output is correct
3 Correct 67 ms 35152 KB Output is correct
4 Correct 94 ms 36700 KB Output is correct

#### Subtask #7 0 / 13.0

# Verdict Execution time Memory Grader output
1 Runtime error 133 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -

#### Subtask #8 0 / 13.0

# Verdict Execution time Memory Grader output
1 Runtime error 127 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -