# PBinfo #1943 – bacterie – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

O echipă de arheologi a descoperit o hartă străveche a Ținutului de Nord, care era locuit de o civilizație condusă după reguli matematice foarte riguroase. Conform acestei hărți, Ținutul de Nord era împărțit în n rânduri a câte m comitate, fiecare comitat ocupând o suprafață pătrată de un hectar.

Însă descoperirile au mai arătat că această civilizație a fost atacată de la sud-vest de o bacterie periculoasă, ce a acționat astfel: în primul an, a infectat comitatul din colțul din stânga jos al hărții, în al doilea an a infectat cele două comitate vecine cu primul, în al treilea an a infectat cele trei comitate vecine cu anterioarele două și așa mai departe, infecția oprindu-se când bacteria a ajuns la marginea de sus sau la marginea din dreapta a hărții.



 Primul an 
 Al doilea an 
 Al treilea an 
 Al patrulea an 
 … 


  
  
  
  
 … 


Cerința
Scrieţi un program care să determine numărul de comitate rămase neinfectate după oprirea expansiunii bacteriei.

Date de intrare
Fișierul de intrare bacterie.in conține separate printr-un spaţiu, n și m, dimensiunile hărții. 

Date de ieșire
Fișierul de ieșire bacterie.out va conține numărul de comitate rămase neinfectate după oprirea expansiunii bacteriei.

Restricții și precizări

1 ≤ n ≤ 1.000.000.000, 1 ≤ m ≤ 1.000.000.000, numere naturale

Exemplu:
bacterie.in

3 5
bacterie.out

9
Explicație
Harta Ținutului de Nord cuprinde 3 rânduri a câte 5 comitate fiecare, având în total 15 comitate. Expansiunea bacteriei s-a oprit după 3 ani, deoarece a atins marginea de sus; au rămas 9 comitate neinfectate.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("bacterie.in");
ofstream out("bacterie.out");
long long n, m, minim, inf;
int main() {
    in >> n >> m;
    minim = n;
    if (m < minim) 
        minim = m;
    inf = minim * (minim + 1) / 2;
    out << n * m - inf << '\n';
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1943)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1943/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1943/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
