veronika1217
03.01.2023 06:13

Расписание Только на языке c++
Имеется набор заданий с одинаковым временем выполнения. Каждое задание следует окончить к определенному моменту, в противном случае за данное задание придется заплатить штраф. Требуется составить расписание (порядок) выполнения заданий так, чтобы суммарный штраф за просроченные задания был минимальным.

Input
Со стандартного устройства ввода вводятся в первой строке число N – количество заданий. Далее в N строках вводятся по два числа – время Ti, к которому следует выполнить данное задание, и штраф Ci за его невыполнение к сроку. 1<=N<=10000, 1<=Ti,Ci<=100000.

Output
Нужно выдать на стандартное устройство вывода 1 целое число – минимальный штраф.

Sample Input
7
4 50
1 30
2 60
6 10
4 70
3 40
4 20

Sample Output
50

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Nodar2004
20.10.2022 12:42

1.

а)

var a, b: integer;

read(a, b);

writeln((a + b) / 2);

б)

var a, b, c, d, e: integer;

read(a, b,c, d, e);

writeln(a*a, b*b, c*c, d*d, e*e);

в) Не знаю это.

д) Решето Эратосфена.

2)

а)

array [1..n] of integer;

var c: integer;

c := 1;

read(n);

while //запускаем цикл для ввода значений массива и подсчёта произведения

read(a[n]);

c = c * a[n];

end;

writeln(c);

б)

array [1..n] of integer;

var c: integer;

read(a[0]);

c := a[0];

while //запускаем цикл для ввода значений массива и определения максимального элемента

read(a[n]);

if {

c > a[n];

} then c := a[n];

end;

writeln(c);

в)

array [1..n] of integer;

var c: integer; //переменная-счётчик

while //запускаем цикл для ввода значений массива и определения количества отрицательных чисел

if {

a[n] < 0;

} then c := c + 1;

end;

writeln(c);

г)

array [1..n] of integer;

var c: integer; //переменная-счётчик

while //запускаем цикл с позиции a[1] для ввода значений массива и определения количества искомых элементов

if {

a[n] = a[0];

} then c := c + 1;

end;

writeln(c);

0,0(0 оценок)
Ответ:
Катя20030000
17.09.2020 19:41

var s,s1:string;

i,j,count:integer;

begin

read(s);

for i:=length(s) downto 2 do

for j:=2 to i do

if s[j]<s[j-1] then begin

swap(s[j],s[j-1]);

s1:=s;

end;

//сортируем строку в алфавитном порядке чтобы потом было легче

//считать количество встреч одного и того же символа

count:=1;

write(s1[1],': ');

//первый символ в любом случае встречается один раз

for i:=2 to length(s1) do

if s1[i]=s1[i-1] then inc(count) else begin

writeln(count);

write(s1[i],': ');

count:=1

end;

//считаем количество совпадений для каждого символа

writeln(count);

end.

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