# PBinfo #91 – masini – Rezolvare C++

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

## Enunț

În curtea unui atelier de reparaţii auto, sunt n maşini care trebuie sa fie reparate. Deoarece nu sunt suficienţi mecanici, în fiecare moment de timp se poate lucra doar la o singură maşină.  

Cerinţa
Cunoscând timpul necesar pentru repararea fiecărei maşini, scrieţi un program care calculează numărul maxim de maşini care pot fi reparate într-un interval de timp T.

Date de intrare
Pe prima linie a fişierului masini.in se găsesc două numere naturale n şi T separate printr-un singur spaţiu, reprezentând numărul de maşini din curtea atelierului auto şi timpul total în care se va lucra.

Pe linia a doua, separate prin câte un spaţiu, se găsesc n numere naturale t1, t2, …, tn, reprezentând timpii necesari pentru repararea fiecărei maşini.

Date de ieşire
Pe prima linie a fişierului masini.out se va găsi un număr natural k, reprezentând numărul maxim de maşini care pot fi reparate.

Restricţii şi precizări

1 < n, T <= 1000
numerele de pe a doua linie a fişierului de intrare vor fi mai mici sau egale cu  100

Exemplu:
masini.in

5 10
6 2 4 8 2 
masini.out

3
Explicație
Se vor repara masinile 2, 3 şi 5, cu timpii de reparaţie 2, 4 şi 2.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("masini.in");
ofstream out("masini.out");
int n, v[1001], t, suma, k;
int main() {
    in >> n >> t;
    for (int i = 0; i < n; i++) in >> v[i];
    sort(v, v + n);
    for (int i = 0; i < n; i++) {
        if (suma + v[i] <= t) {
        	suma = suma + v[i];
        	k++;
        }
    } out << k;
    return 0;
}
```

## Resurse

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