Нужно на C++ на контейнере vector. Максимальное произведение
В массиве, заполненном произвольными целыми числами, найдите два числа, произведение которых максимально. Вложенные циклы не используйте.
Входные данные
На вход программе сначала подается значение n≤50000 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30000.
Выходные данные
Выдайте два искомых числа в порядке неубывания.
#include <QCoreApplication>
#include <bits/stdc++.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication ap(argc, argv);
FILE *fp, *fout;
long long a, b, c, m;
fp = fopen ("0","r+");
fscanf (fp, "%lld\n%lld\n%lld", &a, &b, &c);
fclose(fp);
long long sum = 2 * a + 3 * b + 4 * c;
long long cnt = a + b + c;
long long l = 0, r = cnt + 1;
// Алгоритм бинарного поиска
while (l < r)
{
m = (l + r) / 2;
if ((sum + 5.0 * m) / (cnt + m) < 3.5)
l = m + 1;
else
r = m;
}
fout = fopen ("0.a","w+");
fprintf (fout,"%lld",l);
fclose(fout);
return
Объяснение:
Можно так
a = int(input())
if ((a // 100) + (a % 10)) / 2 == ((a // 10) % 10):
print("Вы ввели красивое число")
elif ((a // 100) + (a // 10) % 10) / 2 == (a % 10):
print("Вы ввели красивое число")
elif ((a % 10) + ((a // 10) % 10)) / 2 == (a // 100):
print("Вы ввели красивое число")
else:
print("Жаль, вы ввели обычное число")
НО ЕСЛИ ТЫ НЕ ПОНЯЛ КОД ТО:
answer1 = input()
if (int(answer1[0]) == int(answer1[1]) and int(answer1[0]) != int(answer1[2])):
print("Жаль, вы ввели обычное число")
elif(int(answer1[0]) == int(answer1[1]) == int(answer1[2])):
print("Вы ввели красивое число")
elif (answer1[0]) != int(answer1[1]) == int(answer1[2]):
print("Жаль, вы ввели обычное число")
elif (answer1[0]) != int(answer1[1]) == int(answer1[2]):
print("Жаль, вы ввели обычное число")
Эта только первая часть
Смотри коментарии