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

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

Solved using brute force approach
Послано Milon Hossain 6 ноя 2018 23:27
#include<bits/stdc++.h>
using namespace std;
bool b[22];
void binary_number(int a,int n){
    for(int i=0;i<n;i++){
        if(a%2==0)b[i]=0;
        else b[i]=1;
        a/=2;

    }
}
int main()
{
    int n;
    long int a[20],s1,s2,da,bn,dn;

    cin >> n;
    for(int i=0;i<n;i++){
     cin >> a[i];
     s1+=a[i];
    }
  dn=s1;
  bn=(1<<n);   //binary number 2^n
    for(int i=0;i<bn;i++){
      binary_number(i,n);

      s1=0;s2=0;
        for(int i=0;i<n;i++){
        if(b[i]==0)s1+=a[i];
        else
        s2+=a[i];
        }

      da=abs(s1-s2);
      dn=min(da,dn);
      if(dn==0)break;
    }

      cout<<dn<<endl;

return 0;
}