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

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
La programul meu imi da doar 90 de puncte :#include
using namespace std;
#include
ifstream f("coada2.in");
ofstream g("coada2.out");
long long n,z,y,x;
int main()
{
f>>x>>y>>z;
n=y+z-x;
if(x<0||y<=0||z<=0||x>z||x>y||n<2)
g <<-1;
else
g< }
Coada2 de pe pbinfo.ro

Răspunsuri la întrebare

Răspuns de stefanungureanu
0
#include <iostream>
#include <fstream>
using namespace std;
fstream f("coada2.in");
ofstream g("coada2.out");
int main()
{
long long x,y,z;
f>>x>>y>>z;
if(y+z-x>0 && y<=z || z<=y) 
   if(y!=x && z!=x) 
   g<<z+y-x;
else 
  g<<"-1";
return 0;}
Alte întrebări interesante