Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Среди пар, удовлетворяющих условию(первый элемент пары больше второго), необходимо найти и напечатать пару с максимальной суммой
- //элементов, которая делится на 120
- //Если среди найденных пар максимальную сумму имеют несколько, то можно напечатать любую из них.
- #include <iostream>
- using namespace std;
- int main(){
- const int m = 120;
- int temp,N,count=0, a[m] = {0}, maxsum, max1, max2, med1=0, med2=0;
- cin >> N;
- for(int i=0 ; i<N; ++i){
- cin >> temp;
- if(temp%m == m / 2){
- if(temp > med1) med1 = temp;
- else if(temp> med2) med2 = temp; // медианы ( в массиве вместо них будут нули )
- }
- else if(a[temp%m] < temp)
- a[temp%m] = temp; // основная запись в массив
- }
- if(med1 != 0 and med2 !=0){ // медианные значения не записывал в массив
- maxsum = med1+med2; max1=med1; max2=med2;}
- for(int i=0; i<m; ++i){
- temp = a[i] + a[m-i];
- if(temp > maxsum) { maxsum = temp; max1 = a[i]; max2=a[m-i];}
- }
- if(max1 < max2){ // если второй элемент больше первого, свапаем
- temp = max1;
- max1 = max2;
- max2 = temp;
- }
- cout << max1 << " " << max2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement