Submission #518778

#TimeUsernameProblemLanguageResultExecution timeMemory
518778hohohahaRestore Array (RMI19_restore)C++14
7 / 100
1094 ms171200 KiB
#include<bits/stdc++.h> using namespace std; #define fori(i, a, b) for(int i = (int) (a); i <= (int) (b); i++) #define ford(i, a, b) for(int i = (int) (a); i >= (int) (b); i--) #define fi first #define se second #define all(x) begin(x), end(x) #define ii pair<int, int> #define pb push_back #define pf push_front #define em emplace #define ef emplace_front #define eb emplace_back #define om pop #define of pop_front #define ob pop_back mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); #define rand rng #define endl '\n' #define sp ' ' void solve(); signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int test_num = 1; fori(test, 1, test_num) { solve(); } } #define int long long const int maxn = 1e5 + 5, inf = LLONG_MAX / 100ll; int n, m; vector<pair<int, int> > g[maxn]; int pref[maxn]; bool inq[maxn]; int up_cnt[maxn]; int que[5000 * 10000 + 5], qs = 1, qe = 0; void push(int v) { que[++qe] = v; } void pop() { qs++; } bool empty() { return qs > qe; } int front() { return que[qs]; } void solve() { cin >> n >> m; fori(i, 0, n) { if(i >= 1) { g[i].eb(i - 1, 0); g[i - 1].eb(i, 1); } } fori(i, 1, m) { int l, r, k, val; cin >> l >> r >> k >> val; l++; r++; if(val == 0) { g[l - 1].eb(r, (r - l + 1) - k); } else { g[r].eb(l - 1, -((r - l + 1) - k + 1)); } } fill(all(pref), inf); pref[0] = 0; push(0); inq[0] = 1; while(!empty()) { int u = front(); pop(); inq[u] = 0; for(ii e: g[u]) { int v = e.fi, w = e.se; if(pref[v] > pref[u] + w) { pref[v] = pref[u] + w; if(!inq[v]) { push(v); inq[v] = 1; up_cnt[v]++; if(up_cnt[v] > n) { cout << -1; return; } } } } } fori(i, 1, n) { cout << pref[i] - pref[i - 1] << sp; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...