Cod sursa(job #2589873)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 27 martie 2020 03:33:29
Problema Taramul Nicaieri Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#include <algorithm>
#include <deque>

#define MaxN 101

using namespace std;

int X[MaxN], Y[MaxN], N, T;
deque <pair<int, int> > Q;

int main() {
    freopen("harta.in", "r", stdin);
    freopen("harta.out", "w", stdout);

    scanf("%d", &N);
    for(int i = 1; i <= N; i++) {
        scanf("%d %d", &X[i], &Y[i]);
        Q.push_back({i, Y[i]});
        T += X[i];
    }

    printf("%d\n", T);

    for(int i = 1; i <= N; i++) {
        for(int j = 1; j <= X[i]; j++) {
            if(Q.front().first == i) Q.push_back(Q.front()),Q.pop_front();
            printf("%d %d\n", i, Q.front().first);
            pair<int, int> aux = Q.front();
            Q.pop_front();
            aux.second--;
            if(aux.second)
                Q.push_back(aux);
        }
    }

    return 0;
}