Submission #272056

#TimeUsernameProblemLanguageResultExecution timeMemory
272056egekabasRestore Array (RMI19_restore)C++14
13 / 100
487 ms888 KiB
#include <bits/stdc++.h> #define all(x) (x).begin(), (x).end() #define ff first #define ss second #define pb push_back #define mp make_pair using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef pair<ll, ll> pll; typedef pair<ull, ull> pull; typedef pair<int, int> pii; typedef pair<ld, ld> pld; struct seg{ int l, r, type, cnt; }; int n, m; seg a[10009]; int ans[10009]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); cin >> n >> m; for(int i = 0; i < m; ++i){ cin >> a[i].l >> a[i].r >> a[i].cnt >> a[i].type; if(a[i].type == 1) a[i].cnt = a[i].r-a[i].l+2-a[i].cnt; } for(int i = 0; i < n; ++i){ pii mini = {1e9, 1e9}; for(int j = 0; j < m; ++j){ if(a[j].cnt <= 0 || a[j].l > i || a[j].r < i) continue; mini = min(mini, {a[j].r, j}); } if(mini.ff == 1e9) continue; ans[i] = a[mini.ss].type; for(int j = 0; j < m; ++j) if(a[j].l <= i && i <= a[j].r && ans[i] == a[j].type) a[j].cnt--; } for(int j = 0; j < m; ++j) if(a[j].cnt > 0){ cout << "-1\n"; return 0; } for(int i = 0; i < n; ++i) cout << ans[i] << ' '; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...