👤

Se da un vector ordonat crescator cu n elemente, apoi se citeste un numar S.


Sa se verifice daca 2 numere din vectorul respectiv au suma egala cu S.

Daca oricare 2 numere din vector au suma egala cu S, se va afisa rezultatul "Da" altfel se va afisa "Nu".


Incercati sa evitati sa folositi 2 foruri pentru a lua pe rand elementele.

Cel mai bun rezultat va fi premiat :))


Răspuns :

#include <iostream>

using namespace std;

int v[10000];

int main(){

int i,j,n,s;

cin >>n;

for(i=0;i<n;i++){

cin>>v[i];

}

cin>>s;

i=0;

j=n-1;

while(i<j){

if(v[i]+v[j]>s)j--;

else if(v[i]+v[j]<s)i++;

else break;

}

cout<<(i==j?"NU":"DA");

}