Воскресенье, 28.04.2024, 05:23
Приветствую Вас Гость | RSS


Головне меню
Категории раздела
ППО [0]
Програмное обеспечение, для преподавания курса программирования на языке "Паскаль"
Готовимся к олимпиаде [2]
Условия и решения олимпиадных задач
Литература [3]
У вільний час
Форма входу
Статистика

Яндекс цитирования
МЕТА - Украина. Рейтинг сайтов
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Программирование

Главная » Статьи » Паскаль » Готовимся к олимпиаде

Степан у казіно

Ім′я вхідного файлу:

Ім′я вихідного файлу:

Обмеження по часу:

Обмеження по пам′яті:

casino.in

casino.out

1 сек

64 мегабайт

Одного разу Степан вирішив відвідати казино. Не будучи заядлим любителем азартних ігор, він зрозумів, що зовсім не знає правил ні однієї з ігор, доступних у казіно. Недовго думаючи, Степан вирішив все-таки пограти. Його зацікавила гра з досить нехитрими правилами.

На ігровому столі лежать N карток. На кожній картці написано ціле додатнє число. Гра відбувається між гравцем і круп′є. Картки лежать на столі числами вниз. Гра полягає в тому, що гравець відкриває рівно N/2 карток. Сума всіх чисел, написаних на картках відкритих гравцем, називається «сумою гравця».

Наступним ходом круп′є відкриває N/2 карток, що залишились. Сума всіх чисел, написаних на картках відкритих круп′є, називається «сумою круп′є».

Виграш гравця визначається різницею чисел між «сумою гравця» і «сумою круп′є». Очевидно, що отримана різниця може бути від′ємним числом. Це свідчить про те, що гравець програв і винен казино відповідну суму.

Вск б нічого, але Степан володіє даром бачити написи крізь папір будь-якої щільності.

Ваше завдання визначити максимальну суму виграшу, яку може отримати Степан з урахуванням того, що він бачить всі числа, написані на картках.  

Формат вхідних даних: вхідний файл містить один рядок, у якому можуть бути тільки цифри, маленькі та великі латинські літери. Кількість символів у рядку не перевищує 10000.

Формат вихідних даних: єдиний рядок вихідного файлу має містити слово YES, якщо заданий пароль є криптостійким, і NO – в іншому випадку (великими латинськими буквами).

Приклади вхідних та вихідних даних:

password.in

password.out

1aA

NO

Aa2BCc12

YES

AAAaaaAAA

NO

 

Мій варіант розв'язання

var

c,i,k,sumgr,sumkr,bonus,pol:integer;

a:array[1..100] of integer;

label h;

begin

      write('N=');

      read(c);

 

      write('vvedite chisla-');

      for i:=1 to c do readln(a[i]);

      sumgr:=0;

      sumkr:=0;

      h:for i:=1 to c do begin

                              if (a[i]<a[i+1]) and (i+1<=c) then begin

                                                                     k:=a[i];

                                                                     a[i]:=a[i+1];

                                                                     a[i+1]:=k;

                                                                  end;

                         end;

      for i:=1 to c do  begin

                              if (a[i]<a[i+1]) and (i+1<=c) then goto h;

                        end;

      pol:=c div 2;

      for i:=1 to pol do sumgr:=sumgr+a[i];

      for i:=pol+1 to c do sumkr:=sumkr+a[i];

      bonus:=sumgr-sumkr;

      writeln('bonus= ',bonus);

 

end.

Категория: Готовимся к олимпиаде | Добавил: ded01 (18.02.2011)
Просмотров: 1184 | Теги: паскаль, задачи по информатике, олимпиада по информатике
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Пошук
Обов'язково відвідайте!
Якщо Ви небачите посилань - вимкніть антибанер або внесіть сайт у довірену зону!
Учительский портал

Міні-чат

© Мех Сергей Анатолиевич ; 2024
Создать бесплатный сайт с uCoz