Cod sursa(job #2213869)

Utilizator felixiPuscasu Felix felixi Data 17 iunie 2018 19:15:48
Problema Taramul Nicaieri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("harta.in");
ofstream out("harta.out");

const int NMAX = 100;

int a[NMAX+2], b[NMAX+2];
int N;

int main()
{
    in >> N;
    for( int i = 1;  i <= N;  ++i ) in >> a[i] >> b[i];
    out << accumulate(a+1, a+N+1, 0) << '\n';
    while( *max_element(a+1, a+N+1) > 0 ) {
        int x = max_element(a+1, a+N+1) - a;
        int y = max_element(b+1, b+N+1) - b;
        if( x == y )
            y = max_element(b+y+1, b+N+1) - b;
        --a[x];
        --b[y];
        out << x << ' ' << y << '\n';
    }
    return 0;
}