Informatică, întrebare adresată de sikesjack1, 8 ani în urmă

Buna!
Ma poate ajuta cineva la problema #1444 Memory001 de pe pbinfo?


Cerința
Se dă o matrice cu m linii şi n coloane şi elemente numere naturale. Determinaţi coloana din matrice pentru care suma elementelor este minimă. Dacă sunt mai multe coloane cu suma minimă, se va afişa indicele minim al unei asemenea coloane.

Date de intrare
Fișierul de intrare memory001.in conține pe prima linie numerele m şi n reprezentând dimensiunile matricei, iar pe următoarele m linii câte n numere naturale separate prin spații reprezentând elementele matricei.

Date de ieșire
Fișierul de ieșire memory001.out va conține pe prima linie cel mai mic indice al unei coloane din matrice având suma elementelor minimă.

Restricții și precizări
2 ≤ m , n ≤ 1000
elementele matricei vor fi mai mici decât 2.000.000.000
numerotarea liniilor și a coloanelor matricei începe de la 1

Exemplu
memory001.in

2 3
1 2 3
7 10 5
memory001.out

1
Explicație
Suma elementelor pe cele trei coloane este 8 , 12, respectiv 8. Coloana cu indice minim având suma elementelor minimă este coloana 1.

Multumesc!

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
2

Răspuns:

#include <fstream>

using namespace std;

unsigned long long int x[1000];

int main(){

int n, m,y;

ifstream fin("memory001.in");

fin >> m >> n;

for(int j = 0; j < m; j++){

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

fin >> y;

x[i]+=y;

}

}

fin.close();

unsigned long long int mx=0, mi=0;

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

if(mx == 0 || x[i]<mx){

mx = x[i];

mi = i;

}

}

ofstream fout("memory001.out");

fout << mi+1;

fout.close();

}

Alte întrebări interesante