М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ābuttt
ābuttt
11.01.2021 23:52 •  Информатика

Окружной этап всероссийской олимпиады школьников по информатике, 2015, i тур россия, самара, 14 ноября 2015 d. трамвайная остановка имя входного файла: стандартный ввод имя выходного файла: стандартный вывод ограничение по времени: 2 секунды ограничение по памяти: 256 мегабайт прохор решил подождать кешу на трамвайной остановке. дождь уже прекратился, но после него возле остановки образовалась огромная лужа, и теперь от каждой проезжающей машины разлета- ются брызги. прохор оглядел свое новенькое пальто, встал подальше от дороги и стал наблюдать за происходящим. когда прохор пришёл на остановку, на ней уже стояли n человек. для каждого из них известно расстояние от края тротуара s1, s2, . . , sn. среди этих расстояний можно выделить smin = min i=1..n {si} и smax = max i=1..n {si}. когда приходит новый потенциальный пассажир, он сразу обращает внимание на лужу, и встает от неё на расстоянии, равном (smin+smax)/2 (округление выполняется в меньшую сторону). прохор заметил, что каждая машина (#j) характеризуется параметром dj — расстоянием от края тротуара, на которое долетают брызги. всех, кто стоит ближе dj , окатывает брызгами, после чего они, отряхиваясь и негромко произнося слова глубокой в адрес водителя, отходят на расстояние dj + 1 от края тротуара и ближе уже не подходят. разумеется, эти перемещения могут повлиять на значения smin и smax, и очередной потенциальный пассажир, пришедший после проезда очередной машины, будет определять для себя расстояние от края тротуара, исходя из этих новых значений. по данным о приходящих потенциальных пассажирах и проезжающих машинах определите для каждой машины, сколько людей, транспорт, удалось обрызгать её водителю. формат входных данных в первой строке содержатся целые положительные числа n и q (1 ⩽ (n+q) ⩽ 3·105 ) — начальное количество людей, транспорт, на остановке и количество сообщений о приходящих потенциальных пассажирах и проезжающих машинах. во второй строке содержится n целых чисел s1, s2, . . , sn (0 ⩽ sj ⩽ 109 ) — расстояния от края тротуара, на которых исходно стоят потенциальные пассажиры. в каждой из следующих q строк содержится сообщение одного из двух видов: — единственный символ p, обозначающий, что на остановку пришёл потенциальный пассажир; — символ c, обозначающий, что мимо остановки проехала машина, и целое число dj (0 ⩽ dj ⩽ 109 ) — расстояние от края тротуара, на которое долетают брызги от этой машины. гарантируется, что во входных данных есть информация о хотя бы одной проехавшей машине. формат выходных данных в единственной строке выведите z целых чисел y1, y2, . . , yz, где yj — количество людей, которых удалось обрызгать водителю машины #j (z — количество сообщений о проезжающих машинах).

👇
Ответ:
natacha18
natacha18
11.01.2021
Не хорошо олимпиады  с источников скатывать))0 Условия читал хоть?
4,6(99 оценок)
Ответ:
alina1922
alina1922
11.01.2021
Решение в прикрепленном файле.
4,4(49 оценок)
Открыть все ответы
Ответ:
gspd000
gspd000
11.01.2021
Попробуй Program PascalGuru; var s:string;    f,t:text;
function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
 beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
4,6(90 оценок)
Ответ:
Winx1209
Winx1209
11.01.2021
// PascalABC.NET 3.0, сборка 1128
begin
  var a:=ArrRandom(20,-10,19);
  a.Println(','); // 1
  var b:=ReadArrInteger('Введите 10 целых чисел',10); // 2
  Writeln('Количество положительных элементов ',
    a.Where(x->x>0).Count); // 3
  for var i:=0 to 19 do
    if a[i]<0 then a[i]:=0;
  Writeln('Массив А после замены отрицательных'); a.Println(','); //4
  Writeln('Сумма положительных элементов ',
    a.Where(x->x>0).Sum) // 5
end.

Тестовое решение:
14,8,9,-5,6,3,3,-10,-8,18,7,13,2,17,-1,0,4,-3,8,-8
Введите 10 целых чисел -5 0 13 -7 -14 11 8 19 -3 -1
Количество положительных элементов 13
Массив А после замены отрицательных
14,8,9,0,6,3,3,0,0,18,7,13,2,17,0,0,4,0,8,0
Сумма положительных элементов 112
4,5(17 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ