gt22 icon

Untitled

gt22 | PRO | 10/11/19 06:26:18 PM UTC | 0 ⭐ | 603 👁️ | Never ⏰ | []
C++ |

900 B

|

None

|

0 👍

/

0 👎

#include <vector>
#include "optimization.h"
#include <tuple>
using namespace std;
 
vector<int> c, p;
int n;
int paint(int l, int r, int color) {
    if(l > r || l >= n || l < 0) {
        return l;
    }
    if(c[l] == -1) c[l] = color;
    return p[l] = paint(p[l], r, color);
}
 
int main() {
    n = readInt();
    int k = readInt();
    int m = readInt();
    vector<tuple<int, int, int>> q(m);
    for (int i = 0; i < m; ++i) {
        q[i] = {readInt() - 1, readInt() - 1, readInt() - 1};
    }
    c.resize(n, -1);
    p.resize(n, 0);
    for (int i = 0; i < n; ++i) {
        p[i] = i + 1;
    }
    for (auto i = m - 1; i >= 0; i--) {
        auto [cc, l, r] = q[i];
        paint(l, r, cc);
    }
    vector<int> count(k);
    for(int cc : c) {
        count[cc]++;
    }
    for (int cc : count) {
        writeInt(cc, ' ');
    }
    writeChar('\n');
    return 0;
}

Comments