#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void solve(){
int n, sum = 0;
bool ok = false;
cin >> n;
vector<int> a(n);
for(auto &i: a) { cin >> i; sum += i;}
sort(a.begin(), a.end());
for(int i = 0; i < n; i++){
int l = i + 1, r = n - 1;
while(l <= r && !ok){
int m = (l + r) / 2;
if(a[m] < sum - a[i])
l = m + 1;
else if(a[m] > sum - a[i])
r = m - 1;
else
ok = true;
}
}
cout << (ok ? "YES" : "NO");
}
int main(){
solve();
}
Відповідь:
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Rus");
int day,month,year;
cout << "Введите день: ";
cin >> day;
cout << "Введите месяц: ";
cin >> month;
cout << "Введите невысокосный год: ";
cin >> year;
if(year % 4 == 0){
cout << "Год высокосный..." << endl;
return 1;
}
cout << "Текущая дата: " << day << "." << month << "." << year << endl;
switch(month){
case 1:;
case 3:;
case 5:;
case 7:;
case 8:;
case 10:{
if(day > 31){
cout << "День введен неверно..." << endl;
break;
}
if(day == 31){
day = 1;
month++;
}
else{
day++;
}
break;
}
case 4:;
case 6:;
case 9:;
case 11:{
if(day > 30){
cout << "День введен неверно..." << endl;
break;
}
if(day == 30){
day = 1;
month++;
}
else{
day++;
}
break;
}
case 2:{
if(day > 28){
cout << "День введен неверно..." << endl;
break;
}
if(day == 28){
day = 1;
month++;
}
break;
}
case 12:{
if(day > 31){
cout << "День введен неверно... " << endl;
break;
}
if(day == 31){
day = 1;
month = 1;
year++;
}
break;
}
default:{
cout << "Месяц введен неверно..." << endl;
break;
}
}
cout << "Следующая дата: " << day << "." << month << "." << year << endl;
return 0;
}