#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
ios::sync_with_stdio(0), cin.tie(0);
int n, m; cin >> n >> m;
int dis[n+1]; memset(dis, 0, sizeof(dis));
vector <pair <int, int>> adj[n+1];
vector <tuple <int, int, int>> chk;
for (int i = 0; i < n; i++) adj[i].emplace_back(i+1, 0);
while (m--) {
int l, r, k, v; cin >> l >> r >> k >> v;
r++;
if (v == 1) chk.emplace_back(l, r, k);
else adj[l].emplace_back(r, k);
}
for (int c = 0; c <= n; c++) {
for (int u = 0; u <= n; u++) {
for (auto [v, w] : adj[u]) dis[v] = max(dis[v], dis[u] + w);
}
}
for (auto &[l, r, k] : chk) if (dis[r] - dis[l] >= k) { cout << -1 << '\n'; return 0; }
for (int i = 1; i <= n; i++) cout << !(dis[i] - dis[i-1]) << ' '; cout << '\n';
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |