Mai intai trebuie sa te autentifici.
Cod sursa(job #2204675)
| Utilizator | Data | 16 mai 2018 19:55:25 | |
|---|---|---|---|
| Problema | Taramul Nicaieri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.82 kb |
# include <fstream>
# include <vector>
# include <algorithm>
# define NMAX 101
using namespace std;
fstream f("harta.in", ios::in);
fstream g("harta.out", ios::out);
int n, m, i, j, in[NMAX], out[NMAX];
bool cmp(pair<int, int> a, pair<int, int> b)
{
if(a.second == b.second)
return a.first > b.first;
return a.second > b.second;
}
int main()
{
f >> n;
for(i = 1; i <= n; i++)
{
f >> in[i] >> out[i];
m += in[i];
}
g << m << '\n';
for(i = 1; i <= n; i++)
{
vector<pair<int, int> > v;
for(j = 1; j <= n; j++)
if(out[j] && i != j)
v.push_back(make_pair(j, out[j]));
sort(v.begin(), v.end(), cmp);
int dim = v.size();
for(j = 0; j < dim && in[i]; j++)
{
out[v[j].first]--;
in[i]--;
g << i << ' ' << v[j].first << '\n';
}
}
f.close();
g.close();
return 0;
}
