Cod sursa(job #2213869)
Utilizator | Puscasu 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;
}