Cod sursa(job #2130008)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 13 februarie 2018 13:00:13
Problema Taramul Nicaieri Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <algorithm>
#define DIM 101
using namespace std;
ifstream fin ("harta.in");
ofstream fout("harta.out");
int i, j, n, f[DIM], c[DIM],sum;
vector< pair<int, int> > sol;


int main(){
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>f[i]>>c[i];
        sum+=c[i];
    }
    for(i=1;i<=n;i++)
    {
        for(j=i+1;j<=n&&f[i]>0;j++)
            if(c[j]>0)
            {
                sol.push_back(make_pair(i, j));
                c[j]--;
                f[i]--;
            }
        for(j=1;j<i&&f[i]>0;j++)
            if(c[j]>0)
            {
                sol.push_back(make_pair(i, j));
                c[j]--;
                f[i]--;
            }
    }
    if(sum!=sol.size())
        fout<<1000/0;
    fout<<sol.size()<<"\n";
    for(i=0;i<sol.size();i++)
        fout<<sol[i].first<<" "<<sol[i].second<<"\n";
    return 0;
}