You are on page 1of 2

Probleme - Metoda Greedy

Nr. 1

1) #include <iostream>

using namespace std;

int n;

struct obiecte{char o[21];

int p;}a[1001];

void sortare()

{for (int i=1;i<n;i++)

for (int j=i+1;j<=n;j++)

if (a[i].p<a[j].p)

{swap(a[i].p,a[j].p);

swap(a[i].o,a[j].o);}}

int main()

{int m,vmax=0;

cin>>n>>m;

for (int i=1;i<=n;i++)

{cin>>a[i].o;

cin>>a[i].p;}

sortare();

for (int i=1;i<=m;i++)

{vmax=vmax+a[i].p;

cout<<a[i].o<<" "}

cout<<endl;

cout<<vmax;

return 0;}
2) #include <iostream>

using namespace std;

int v[1001];

void sortare(int n)

{for (int i=1;i<=n-1;i++)

for (int j=i+1;j<=n;j++)

if (v[i]>v[j])

swap(v[i],v[j]);}

int main()

{int k,n,s=0;

cin>>n;

for (int i=1;i<=n;i++)

cin>>v[i];

cin>>k;

sortare(n);

for (int i=1;i<=n;i++)

{if (i<=k)

v[i]=v[i]*-1;

s=s+v[i];}

cout<<s;

return 0;}

You might also like