Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

Am nevoie de problema #765 va rog de pe pbinfo. Corecta ca sa primesc 100 pct! Plz...cei care se descurc la informatică


Razzvy: test
Utilizator anonim: Nu e test
Utilizator anonim: Dar pe pbinfo cred ca știi ca trebuie sa primesti puncte
Razzvy: Am pus comentariul ca sa imi amintesc de problema maine :))

Răspunsuri la întrebare

Răspuns de rossetta
2
1 in C++ :

#include <iostream>
using namespace std;
#include <algorithm>

long long sum[1001][1001];

int main(void) {
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      int cij;
      cin >> cij;
      sum[i][j] = cij + sum[i][j - 1] + sum[i - 1][j] - sum[i - 1][j - 1];
    }
  }
  long long answer = 0;
  for (int i = 0; i < k; i++) {
    int i1, j1, i2, j2;
    cin >> i1 >> j1 >> i2 >> j2;
    answer = std::max(answer,
        sum[i2][j2] - sum[i1 - 1][j2] - sum[i2][j1 - 1] + sum[i1 - 1][j1 - 1]);
  }
  cout << answer;
  return 0;
}


2) Varianta in C:

#include <cstdio>
#include <algorithm>

const int MAX_N = 1000;
const int MAX_M = 1000;

long long sum[1 + MAX_N][1 + MAX_M];

int main(void) {
  int n, m, k;
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      int cij;
      scanf("%d", &cij);
      sum[i][j] = cij + sum[i][j - 1] + sum[i - 1][j] - sum[i - 1][j - 1];
    }
  }
  long long answer = 0;
  for (int i = 0; i < k; i++) {
    int i1, j1, i2, j2;
    scanf("%d%d%d%d", &i1, &j1, &i2, &j2);
    answer = std::max(answer,
        sum[i2][j2] - sum[i1 - 1][j2] - sum[i2][j1 - 1] + sum[i1 - 1][j1 - 1]);
  }
  printf("%lld\n", answer);
  return 0;
}


Alte întrebări interesante