Cod sursa(job #3281213)

Utilizator AlexandruBenescuAlexandru Benescu AlexandruBenescu Data 28 februarie 2025 17:55:27
Problema Taramul Nicaieri Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>
#define L 105
using namespace std;
ifstream fin("harta.in");
ofstream fout("harta.out");

int n, s;
int in[L], out[L];

int increment(int i) {
  i++;
  if (i > n)
    i = 1;
  return i;
}

int main() {
  fin >> n;
  for (int i = 1; i <= n; i++) {
    fin >> in[i] >> out[i];
    s += in[i];
  }

  fout << s << "\n";
  int j = 1;
  for (int i = 1; i <= n; i++) {
    while (in[i]) {
      while (out[j] == 0 || i == j)
        j = increment(j);
      in[i]--;
      out[j]--;
      fout << i << " " << j << "\n";
      j = increment(j);
    }
  }
  return 0;
}