Pagini recente » Cod sursa (job #3194156) | Cod sursa (job #1819756) | Cod sursa (job #667323) | Cod sursa (job #2282265) | Cod sursa (job #2589873)
#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;
}