# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
170821 | 2019-12-26T12:47:44 Z | davitmarg | Trading (IZhO13_trading) | C++17 | 33 ms | 22648 KB |
/*DavitMarg*/ #include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <string> #include <cstring> #include <map> #include <unordered_map> #include <set> #include <queue> #include <iomanip> #include <bitset> #include <stack> #include <cassert> #include <iterator> #include <fstream> #define mod 1000000007ll #define LL long long #define LD long double #define MP make_pair #define PB push_back #define all(v) v.begin(), v.end() using namespace std; const int N = 100005; int n, m; vector<int> add[N], rem[N]; multiset<int> s; int main() { cin >> n >> m; for (int i = 1; i <= n; i++) { add[i].PB(-i); rem[i].PB(-i); } while (m--) { int l, r, x; scanf("%d%d%d", &l, &r, &x); add[l].PB(x - l); rem[r].PB(x - l); } for (int i = 1; i <= n; i++) { for (int j = 0; j < add[i].size(); j++) s.insert(add[i][j]); printf("%d ", i + (*s.rbegin())); for (int j = 0; j < rem[i].size(); j++) s.erase(s.find(rem[i][j])); } cout << endl; return 0; } /* 2 2 0 3 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 4984 KB | Output is correct |
2 | Correct | 6 ms | 4984 KB | Output is correct |
3 | Correct | 7 ms | 4984 KB | Output is correct |
4 | Correct | 7 ms | 5112 KB | Output is correct |
5 | Correct | 9 ms | 5240 KB | Output is correct |
6 | Correct | 9 ms | 5240 KB | Output is correct |
7 | Runtime error | 33 ms | 22648 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
8 | Halted | 0 ms | 0 KB | - |