| 
				 олимпиадная задачка 
 перед предстоящей олимпиадой решил попробовать себя в тестовой задачке 
сама тестовая задачка
 
	Цитата: 
	
		| Когда столбик термометра каждый день замирает на отметке около +40, очень хорошо продается вода — газированная, минеральная, лимонады... Настолько хорошо, что покупатели обращают внимание на марку воды и производителя куда меньше, чем обычно.          Директор торговой сети «Альнико» для лучшего планирования пополнения запасов потребовал, чтобы каждое утро у него на столе лежал отчет о том, сколько было продано воды за предыдущий день. На следующее утро желаемая цифирь была ему предоставлена. 
 — 3236,6 л. воды газированной, 2671,25 л. лимонадов, — начал читать он и возмутился, — Да, когда мы будем заказывать поставку, так и попросим, чтобы не забыли бутылочку 0,6 литра положить. Мне нужны круглые цифры: 3 тысячи литров воды газированной, 2 тысячи литров лимонада. Понятно?
 
 Сотрудникам было понятно, и на следующий день директор был доволен: снова 3 тысячи литров газировки и 2 тысячи литров лимонада. А еще через день директору принесли общий отчет о продажах. И он снова был рассержен:
 
 — Я сам посчитал: за четыре дня продано 12 тысяч литров газированной воды. А в общем отчете больше 14!
 
 — Так Вы же сами просили сообщать только количество тысяч литров... А было: 3236,6 л., потом 3749,2 л., потом 3874,8 л., и, наконец, 3521,6 л. Так что вот и получилось 14382,2 л.
 
 Нельзя сказать, чтобы директора успокоила такая арифметика:
 
 — Ну, тогда округляйте! Эти 3200 с чем там — до 3 тысяч, а 3800 — до 4 тысяч.
 
 — Так ведь все равно не сойдется, — возразил один из менеджеров. — Получится 3 + 4 + 4 + 4, итого 15. А 14382 все же к 14 ближе...
 
 — Так, я хочу, чтобы все было нор-маль-но! Цифры должны сходиться. Каждый день. А как вы это сделаете, не важно!
 
 — Хорошая задачка, — сказал один менеджер другому, когда они вышли из кабинета директора. — Значит, надо то округлять, то отбрасывать. И каждый день результат должен быть как можно больше похож на реальный.
 
 — Ну да, — поддержал его другой. — Получается, во второй и третий дни надо было округлять до 4, а вот в четвертый уже отбросить. Давай программиста попросим, ему работы на пять минут, а нам какое облегчение...
 
 Ваша задача — по заданной последовательности объемов продаж каждый день составить инструкцию для менеджеров. Для простоты менеджеры отбросили дробные части литра и сообщают Вам только целые числа. Инструкция должна помочь им выбрать между уменьшением и увеличением объема продаж при записи его в тысячах литров, так чтобы каждый день данные директора наилучшим образом (т.е. с точностью до обычного математического округления) совпадали с общим отчетом.
 
 
 
 Формат входного файла input.txt
 
 Первая строка — целое число N (1 <= N <= 100) — количество дней, в течение которых фиксируются объемы продаж.
 
 Каждая из следующих N строк содержит одно целое число (не меньшее 1000 и не большее 10000) — объем продаж в соответствующий день
 
 
 
 Формат выходного файла output.txt
 
 Первая строка — строка из N символов (без пробелов), содержащая символ F, если при учете объема продаж в этот день нужно уменьшить число (или же нет необходимости его изменять), и символ C, если нужно его увеличить.
 
 
 
 Пример входного файла — 1
 
 4
 
 3237
 
 3749
 
 3875
 
 3522
 
 
 
 Пример выходного файла — 1
 
 FCCF
 
 
 
 Пояснение к примеру:
 
 1-ый день: директор получает отчет о продаже 3 тысяч литров, в общем отчете — 3237 литров, или 3,237 тысяч литров. Математическое округление даст 3.
 
 2-ой день: директор получает отчет о продаже 4 тысяч литров, в общем отчете — 6,986 тысяч литров. Суммарно у директора получается 7 тысяч литров.
 
 3-ий день: директор получает отчет о продаже 4 тысяч литров, суммарно у него получается 11 тысяч литров, а в общем отчете — 10,861 тысяч литров
 
 4-ый день: директор получает отчет о продаже 3 тысяч литров, суммарно у него выходит 14 тысяч литров, а в общем отчете — 14,383 тысячи литров.
 
 
 
 Пример входного файла — 2
 
 
 
 5
 
 3300
 
 3285
 
 4000
 
 3175
 
 3775
 
 
 
 Пример выходного файла — 2
 
 FCFFC
 |  
вот что я написал
 
	Код: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | programConPrg;
 {$APPTYPE CONSOLE}
   var
 fin, fout: TextFile;
 result: string;
 n1,n2,k,z: real;
 i: integer;
 m: array[1..101] ofinteger;
 begin
   AssignFile(fin, 'input.txt');
 Reset(fin);
 fori:=1to101do
 Readln(fin, m[i]);
   k:=0;
 n2:=0;
 fori:=1tom[1] do
  begin
   z:=m[i+1]/1000;
   k:=k+z;
   n1:=n2;
   n2:=Round(k);
   if(n2-n1)>z thenresult:=result+'C'
   elseif((n2-n1)<z) or((n2-n1)=z) thenresult:=result+'F';
  end;
   CloseFile(fin);
 AssignFile(fout, 'output.txt');
 Rewrite(fout);
 write(fout, result);
 CloseFile(fout);
 end.
 | 
 
закинул на проверку и выдало 
 
	Цитата: 
	
		| Wrong Answer on test 6 - решение выдало неверный результат на тесте 6. Проверьте правильность придуманного Вами алгоритма. |  
вроде все правильно, если не трудно подскажите что может быть не так			 Последний раз редактировалось ALexandr555, 30.11.2011 в 19:05.
 |