lunes, 24 de octubre de 2011

105 - The Skyline Problem, uva

#include<iostream>
#include<vector>
#include<deque>
#include<cstring>
using namespace std;
int H[10000];
int main() {
    int min = 10000;
    int max = 0;
    int x, y, h;
    memset(H, 0, sizeof (H));
    while (cin >> x >> h >> y) {
        if (x < min)
            min = x;
        if (y > max)
            max = y;
        for (int i = x; i < y; i++) {
            if (H[i] < h)
                H[i] = h;
        }
    }
    int cambio = H[min];
    cout << min << " " << cambio;
    for (int i = min + 1; i <= max; i++) {
        if(cambio != H[i])
        {
            cambio = H[i];
            cout << " "<< i << " " << cambio;
        }
    }
    cout << endl;
    return 0;
}


No hay comentarios:

Publicar un comentario