Dayanna01
01.09.2022 15:47

Университет ИТМО Сакт-петербурга (olymp.ifmo.ru) ежегодно проводит перечневую олимпиаду по информатике первого уровня. Задачи олимпиады напоминают задания ЕГЭ. Мы предлагаем Вам попробовать решить на пробном туре вариацию одной задачи с олимпиады СПБГУ ИТМО 2015 года. Пете подарили n гирь и чашечные весы. Каждая гиря весит ai грамм. Первым делом он разложил гири на чаши. При этом одна из чаш может быть пустой. Теперь он хочет выяснить, какой наименьшей разницы весов на чашах можно достичь, не более чем за одно перекладывание гирь. Одно перекладывание происходит следующим образом: Петя выбирает некоторую гирю, лежащую на одной чаше весов и перекладывает ее на другую чашу весов. Обратите внимание, что Петя не обязан сделать это перекладывание.

Формат ввода
В первой строке входного файла weight.in находится одно натуральное число n (1 ≤ n ≤ 50) — количество гирь. В каждой из следующих n строк находятся два натуральных числа ai, bi (1 ≤ ai ≤ 1000, 1 ≤ bi ≤ 2) — масса гири и номер чаши весов, на которой она находится.

Формат вывода
В выходной файл weight.out требуется вывести одно число — наименьшую разницу весов, которую можно достичь, сделав не более одного перекладывания гирь.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
guardian009888
10.06.2022 20:22
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение:
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:

program N_0547847;
var
    b, c, d, f, i:integer;
    a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
  a[i]:=random(4)+2; 
  write(a[i],' '); end; 
writeln;
for i:=1 to 20 do begin
    if a[i]=2 then  b:=b+1;
    if a[i]=3 then  c:=c+1;
    if a[i]=4 then  d:=d+1;
    if a[i]=5 then   f:=f+1;
end;
writeln('Двоек: ', b); 
writeln('Троек: ', c); 
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.   
0,0(0 оценок)
Ответ:
JollyWolf
10.12.2022 05:12

1)

using System;

using System.Collections.Generic;

using System.Collections.Specialized;

namespace ConsoleApp3

{

   class Program

   {

       static void Main(string[] args)

       {

           int num = Convert.ToInt32(Console.ReadLine());

           Console.WriteLine(num % 2 == 0 ? "Чётное" : "Нечётное");

           Console.WriteLine(num / 10 + num % 10);

       }

   }

}

2)

using System;

using System.Collections.Generic;

using System.Collections.Specialized;

namespace ConsoleApp3

{

   class Program

   {

       static void Main(string[] args)

       {

           double[] seconds = new double[8];

           string[] athletes = new string[8];

           double sum = 0;

           double maxN = 0;

           int max = 0;

           for (int i = 0; i < 8; i++)

           {

               Console.WriteLine($"Введите фамилию {i + 1}-го участника и его результат: ");

               athletes[i] = Console.ReadLine();

               seconds[i] = Convert.ToDouble(Console.ReadLine());

               sum += seconds[i];

               if (seconds[i] > maxN)

               {

                   maxN = seconds[i];

                   max = i;

               }

           }

           Console.WriteLine($"\n\nСредний результат участников - {sum / 8}");

           Console.WriteLine($"Лучший результат у участника с фамилией {athletes[max]} - {maxN}");

       }

   }

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота