Cod sursa(job #2329804)

Utilizator DanBarbilianMuresan Dan Adrian DanBarbilian Data 27 ianuarie 2019 14:42:12
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.28 kb
#include <iostream>
#include <fstream>
using namespace std;
int mt[5001][2], n,  i , j , g , minimw = 999999 , minimp = 999999 , s;
int linie , sp;

int main()
{
    ifstream fin("rucsac.in");
    ofstream fout("rucsac.out");
    fin>>n>>g;
    for(i=1;i<=n;i++)
        for(j=1;j<=2;j++)
            fin>>mt[i][j];
    j=1;
    for(i=1;i<=n;i++)
        if(mt[i][j]<minimw)
            minimw=mt[i][j];
    for(i=1;i<=n;i++)
        if(mt[i][j]==minimw)
        {
            j=2;
            for(i=1;i<n;i++)
                if(mt[i][j]<minimp)
                {
                    minimp = mt[i][j];
                    linie = i;
                }
        }
    j=1;
    for(i=1;i<=n;i++)
        s+=mt[i][j];
    while(s>=g)
        {
        for(i=linie;i<=n;i++)
            for(j=1;j<=2;j++)
                mt[i][j]=mt[i+1][j];
        n--;
        s=0;
        for(i=1;i<=n;i++)
        s+=mt[i][j];
          for(i=1;i<=n;i++)
        if(mt[i][j]==minimw)
        {
            j=2;
            for(i=1;i<n;i++)
                if(mt[i][j]<minimp)
                {
                    minimp = mt[i][j];
                    linie = i;
                }
        }
        }
    j=2;
    for(i=1;i<=n;i++)
        sp +=mt[i][j];
    fout<<sp;
}