Cod sursa(job #2941841)

Utilizator alexlazuLazureanu Alexandru Ioan alexlazu Data 18 noiembrie 2022 13:38:51
Problema Heavy metal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <algorithm>
#include <iostream>

using namespace std;

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

int s[100001],maxi=-1,n;

const int NMAX = 1e6;

struct Formatii {
	int a, b;

}v[NMAX + 1];

bool cmp(Formatii x, Formatii y) {
	if (x.b > y.b)
	{
		return false;
	}
	if (x.a > y.a && x.b == y.b)
	{
		return false;
	}
	return true;
}

void rez(int poz, int sum)
{
    for(int i=poz+1; i<=n; i++)
    {
        cout << v[i].b << ' ' << v[i].a;
        if(sum+v[i].b-v[i].a > maxi)
            maxi=sum+v[i].b-v[i].a;
        rez(i,sum+v[i].b-v[i].a);
    }
}

int main()
{

    int k = 1 , i;
	in >> n;
	for (i = 1; i <= n; i++) {
		in >> v[i].a >> v[i].b;
	}

	sort(v + 1, v + n + 1, cmp);

    rez(1,0);
    //for (i = 1; i <= n; i++)
       // out << v[i].a << " " << v[i].b << endl;
    out << endl  << maxi;
}