ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1005. Куча камней

C++ , sort - undefined wtf?
Послано Ivailo 12 ноя 2009 13:53
#include <iostream>
using namespace std;
int main (){
    int n,a[20],m,m1,m2;
    cin>>n;
    for (int i=0;i<n;i++){
        cin>>a[i];
        }
        sort (a , a+n );
.......
It says that sort (a , a+n )is undefined but when I compile it runs without a problem and it sorts the array a[n].What should I do ?!
Re: C++ , sort - undefined wtf?
Послано Igor9669(Tashkent IAC) 12 ноя 2009 17:42
Add - #include <algorithm>
Re: C++ , sort - undefined wtf?
Послано Ivailo 12 ноя 2009 18:05
Ok it worked 10x but when I submit my program it says WA on test#1 Here is how I done it:
#include <iostream>
#include <algorithm>
using namespace std;
int main (){
    int n,a[20],m,m1,m2;
    cin>>n;
    for (int i=0;i<n;i++){
        cin>>a[i];
        }
        sort (a , a+n );
          if (n%2==0){
                for (int i=0 , j=n-1;i<(n/2)-1 , j>n/2 ;i=i+2 , j=j-2){
                    m1=a[i]+a[j];
                    }
                    for(int i=1 , j=n-2;i<(n/2)-1 , j>   n/2; i=i+2 , j=j-2){
                            m2=a[i]+a[j];
                            }
                    if(m1>=m2){
                              m1=m1+a[(n/2)-1];
                              m2=m2+a[n/2];
                              }
                               if(m1<=m2){
                                         m1=m1+a[n/2];
                                         m2=m2+a[(n/2)-1];
                                         }
                                         }
           if (n%2!=0){
              for (int i =0 , j=n-1 ; i<n/2 , j>n/2 ; i=i+2 , j=j-2){
                  m1=a[i]+a[j];
                  }
                  for (int i =1 , j=n-2 ; i<n/2 , j>n/2 ; i=i+2 , j=j-2){
                      m2=a[i]+a[j];
                      }
                      if(m1>=m2){
                                 m2=m2+a[n/2];
                                 }
                                 else {
                                      m1=m1+a[n/2];
                                      }
                                      }
                                       m=m1-m2;
                                       cout<<abs(m);
                                       system("pause");
                                         return 0;
                                         }
Re: C++ , sort - undefined wtf?
Послано Igor9669(Tashkent IAC) 12 ноя 2009 19:10
It is not a sorting problem!
You really don't need to sort! You could check all possible results,and find the best! Or you could use DP!