# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
716519 |
2023-03-30T08:43:07 Z |
1zaid1 |
Bridges (APIO19_bridges) |
C++17 |
|
914 ms |
115868 KB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int M = 3e6+5, MOD = 998244353;
vector<int> node[M], tmp;
int vis[M], ind[M];
void dfs(int s) {
vis[s] = true;
for (auto i:node[s]) {
if (!vis[i]) dfs(i);
} tmp.push_back(s);
}
int N = 1 << 20;
int seg[M];
void update(int ind) {
while (ind /= 2) seg[ind] = min(seg[ind*2], seg[ind*2+1]);
}
int query(int L, int R, int l = 1, int r = N, int ind = 1) {
if (r < L || l > R) return INT_MAX;
if (L <= l && r <= R) return seg[ind];
return min(query(L, R, l, (l+r)/2, ind*2), query(L, R, (l+r)/2+1, r, ind*2+1));
}
signed main() {
cin.tie(0)->sync_with_stdio(0);
for (int &i:seg) i = INT_MAX;
int n, m;
cin >> n >> m;
vector<array<int, 3>> E;
map<pair<int, int>, int> e;
for (int i = 0; i < m; i++) {
int a, b, c;
cin >> a >> b >> c;
node[a].push_back(b);
node[b].push_back(a);
E.push_back({a, b, c});
e[{a, b}] = e[{b, a}] = c;
}
int f = 0;
for (int i = 1; i <= n; i++) if (node[i].size() == 1) f = i;
dfs(f);
for (int i = 0; i < n-1; i++) {
seg[i+N] = e[{tmp[i], tmp[i+1]}];
update(i+N);
}
for (int i = 0; i < n; i++) ind[tmp[i]] = i;
int q;
cin >> q;
while (q--) {
int x, y;
cin >> x;
if (x == 1) {
cin >> x >> y;
auto [a, b, c] = E[x-1];
seg[min(ind[a], ind[b])+N] = y;
update(min(ind[a], ind[b]) + N);
} else {
cin >> x >> y;
int ans = 1;
if (ind[x] != n-1) {
int l = -1, p = (1<<20);
while (p /= 2) {
if (ind[x]+l+p+1 >= n) continue;
if (query(ind[x]+1, ind[x]+l+p+1) >= y) l += p;
} ans += l+1;
}
if (ind[x]) {
int l = 0, p = (1<<20);
while (p /= 2) {
if (ind[x]-(l+p) < 0) continue;
if (query(ind[x]-(l+p)+1, ind[x]) >= y) l += p;
} ans += l;
}
cout << ans << endl;
}
}
return 0;
}
/*
5 4
1 3 1
3 5 2
5 4 3
4 2 1
-1
2 2 2
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
60 ms |
94244 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
508 ms |
107400 KB |
Output is correct |
2 |
Correct |
427 ms |
107368 KB |
Output is correct |
3 |
Correct |
431 ms |
107388 KB |
Output is correct |
4 |
Correct |
433 ms |
107376 KB |
Output is correct |
5 |
Correct |
443 ms |
107412 KB |
Output is correct |
6 |
Correct |
437 ms |
108656 KB |
Output is correct |
7 |
Correct |
457 ms |
110096 KB |
Output is correct |
8 |
Correct |
448 ms |
110120 KB |
Output is correct |
9 |
Correct |
71 ms |
95696 KB |
Output is correct |
10 |
Correct |
382 ms |
109064 KB |
Output is correct |
11 |
Correct |
395 ms |
109056 KB |
Output is correct |
12 |
Correct |
720 ms |
110300 KB |
Output is correct |
13 |
Correct |
200 ms |
110084 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
388 ms |
102264 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
914 ms |
115868 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
508 ms |
107400 KB |
Output is correct |
2 |
Correct |
427 ms |
107368 KB |
Output is correct |
3 |
Correct |
431 ms |
107388 KB |
Output is correct |
4 |
Correct |
433 ms |
107376 KB |
Output is correct |
5 |
Correct |
443 ms |
107412 KB |
Output is correct |
6 |
Correct |
437 ms |
108656 KB |
Output is correct |
7 |
Correct |
457 ms |
110096 KB |
Output is correct |
8 |
Correct |
448 ms |
110120 KB |
Output is correct |
9 |
Correct |
71 ms |
95696 KB |
Output is correct |
10 |
Correct |
382 ms |
109064 KB |
Output is correct |
11 |
Correct |
395 ms |
109056 KB |
Output is correct |
12 |
Correct |
720 ms |
110300 KB |
Output is correct |
13 |
Correct |
200 ms |
110084 KB |
Output is correct |
14 |
Incorrect |
388 ms |
102264 KB |
Output isn't correct |
15 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
60 ms |
94244 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |