Informatică, întrebare adresată de ASHXQ, 9 ani în urmă

#2337 PbInfo
Cerința
Andrei și Mihai stau la coada la magazin pentru a-și cumpăra bomboane. Andrei este în fața lui Mihai la coadă, iar între cei doi se afla alte x persoane. Mihai a observat că în total, ​în fata lui , se afla ​y ​persoane, iar Andrei a observat că în spatele ​lui se află z persoane.

Știind numerele ​x y z , aflați câte persoane sunt la coadă în total. Uneori, însă, e posibil ca aceștia să fi numărat greșit numărul de persoane, și să nu se poată calcula numărul total de persoane din coada. În acest caz trebuie sa afișați ​-1.

Date de intrare
Pe prima linie a fișierului de intrare​ coada2.in ​se vor afla 3 numere naturale ​x y ​z.

Date de ieșire
În fișierul de ieșire​ coada2.out​ se va afișa un singur număr, reprezentând lungimea cozii la care stau copiii. Dacă datele sunt incorecte, atunci afișați ​-1.

Restricții și precizări
0 ​≤ x,y,z ≤ 1.000.000.000.000.000.000
Pentru 80 de puncte ​se garantează pentru datele introduse se poate afla lungimea cozii.

Exemplu
coada2.in

0 1 1
coada2.out

2
eu primesc doar 70 de puncte
#include
#include
using namespace std;
ifstream fin("coada2.in");
ofstream fout("coada2.out");
int main()
{ int x,y,z;
fin>>x>>y>>z;
if(x < 0 || y < 0 || z < 0 || x > z || x > y)
{fout << -1;
return 0;}
int total = y + z - x;
fout << total;
return 0;}

Răspunsuri la întrebare

Răspuns de dinahbiersackpbrhs9
18

#include <fstream>

using namespace std;

ifstream cin("coada2.in");

ofstream cout("coada2.out");

long long x,y,z,t;

int main(){

cin>>x>>y>>z;

if (x>=y || x>=z) {

cout<<-1; return 0;

}

t = y+z-x;

cout<<((t<2) ? -1 : t);

cin.close();

cout.close();

}


miatamara: ms
Alte întrebări interesante