Cod sursa(job #2202126)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 7 mai 2018 18:01:31
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define NMAX 501

using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");
vector < pair < int , int > > L;

int N,M,R,C,a[NMAX][NMAX],suma;
struct punct
{
    int sum,indx;
}v[101],v1[101];
int cmp(const punct &a, const punct &b)
{
    return a.sum < b.sum;
}
int main()
{
    fin>>N>>M>>R>>C;
    for(int i =1 ; i <= N; i++)
        for(int j = 1; j <= M; j++)
         fin>>a[i][j];
         for(int i =1 ; i <= N; i++)
         {
             suma=0;
            for(int j = 1; j <= M; j++)
             suma+=a[i][j];
             v[i].sum=suma;
             v[i].indx=i;
         }
         sort(v+1,v+N+1,cmp);
     for(int i =1 ; i <= R; i++)
     {
         for(int j =1 ; j<= N; j++)
            a[v[i].indx][j]=0;
     }
     for(int i =1 ; i <= M; i++)
     {
         suma=0;
         for(int j =1 ; j <= N; j++)
            suma+=a[j][i];
          v1[i].sum=suma;
          v1[i].indx=i;
     }
     sort(v1+1,v1+N+1,cmp);
    for(int i =1 ; i <= C; i++)
    {
        for(int j =1 ; j <= N; j++)
            a[j][v1[i].indx]=0;
    }
    suma=0;
    for(int i = 1; i <= N; i++)
    {
        for(int j =1; j <= M; j++)
            suma+=a[i][j];
    }
    fout<<suma;

    return 0;
}