Koranna1986
?>

Программирование, паскаль/питон на фкн вшэ после 2 курса студенты выбирают себе специализацию. каждый студент составляет список приоритетов специализаций, на которые он хотел бы попасть. кроме того, у каждого студента есть его позиция в рейтинге (зависит от среднего за время обучения, у некоторых студентов позиция может совпадать на каждой специализации есть максимальное количество студентов, которые могут быть на неё приняты. справедливо распределить студентов в соответствие с их пожеланиями. необходимо чтобы для каждого студента выполнялось следующее утверждение: после распределения студента на специализацию на более приоритетных для него специализациях не должно быть ни одного студента, с позицией в рейтинге больше чем у него. при этом из всех распределений необходимо выбрать такое, в котором наибольшее число студентов было распределено по специализациям. формат входных данных в первой строке задается два числа: n и k (1 ≤ n, k ≤ 1) — количество студентов и специализаций соответственно. в следующей строке задается k натуральных чисел si (1 ≤ si ≤ 1), где si — количество студентов, которые готова принять специализация номер i. в следующих n строках содержится описание приоритетов для каждого из студентов. описание состоит из числа r (1 ≤ r ≤ n) — позиции студента в рейтинге, числа t (1 ≤ t ≤ n) — количества желаемых специализаций и t чисел от 1 до k — номера желаемых специализаций в порядке убывания приоритета. номера специализаций не повторяются. гарантируется, что сумма t для всех студентов не превосходит 106. формат результата для каждого из n студентов выведите номер специализации, на которую он будет распределен. в случае, если на всех желаемых специализациях все места заняты студентами с более высокой позицией в рейтинге, то для студента следует вывести число -1. если правильных ответов несколько — выведите любой из них.

Информатика

Ответы

Vitalevich1187

1.

#include <iostream>

#include <vector>

using namespace std;

int main(){

int a,b;

cin>>a;

vector<int> v1;

vector<int> v2;

for(int i=0; i<a; i++){

cin>>b;

if (b%2==0) v1.emplace_back(b);

else v2.emplace_back(b);

}

sort(v1.begin(), v1.end());

sort(v2.begin(), v2.end());

for(auto & i: v1) cout<<i<<" ";

}

2.

#include <iostream>

#include <vector>

using namespace std;

int main(){

vector<float> v;

//здесь нам задают массив

sort(v.begin(), v.end());

cout<<v[0]<<v.back();

}

tashovairina

PascalABC.NET 3.7:

##var sumOfAP := function(a1, an, d: real):real → (a1 + an)/2*((an - a1)/d+1);var (a, b) := ReadInteger2('Введите a и b:');var sE := sumOfAP(a + a mod 2, b - b mod 2, 2);var sO := sumOfAP(a + 1 - a mod 2, b - 1 + b mod 2, 2);Print('Результат:', sE - sO)

Пояснение:

Используется формула для нахождения суммы первых n членов арифметической прогрессии:  S = \frac{a_1 + a_n}{2} * (\frac{a_n - a_1}{d} + 1) , где a_1 — первый член прогрессии, a_n — последний член, d —разность прогрессии.

sumOfAP -- функция расчёта суммы арифметической прогрессии.(a, b) -- вводимые числа.ReadInteger2(prompt) -- выводит приглашение к вводу prompt и возвращает кортеж из двух значений типа integer, введенных с клавиатуры.sE и sO -- "sum of Even" и "sum of Odd", сумма чётных и сумма нечётных соответственно.Print -- выводит значения на экран, после каждого значения выводит пробел.
Маша любит четные числа, а миша нечетные. поэтому они всегда радуются, когда встречают числа, которы
Маша любит четные числа, а миша нечетные. поэтому они всегда радуются, когда встречают числа, которы
Маша любит четные числа, а миша нечетные. поэтому они всегда радуются, когда встречают числа, которы

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программирование, паскаль/питон на фкн вшэ после 2 курса студенты выбирают себе специализацию. каждый студент составляет список приоритетов специализаций, на которые он хотел бы попасть. кроме того, у каждого студента есть его позиция в рейтинге (зависит от среднего за время обучения, у некоторых студентов позиция может совпадать на каждой специализации есть максимальное количество студентов, которые могут быть на неё приняты. справедливо распределить студентов в соответствие с их пожеланиями. необходимо чтобы для каждого студента выполнялось следующее утверждение: после распределения студента на специализацию на более приоритетных для него специализациях не должно быть ни одного студента, с позицией в рейтинге больше чем у него. при этом из всех распределений необходимо выбрать такое, в котором наибольшее число студентов было распределено по специализациям. формат входных данных в первой строке задается два числа: n и k (1 ≤ n, k ≤ 1) — количество студентов и специализаций соответственно. в следующей строке задается k натуральных чисел si (1 ≤ si ≤ 1), где si — количество студентов, которые готова принять специализация номер i. в следующих n строках содержится описание приоритетов для каждого из студентов. описание состоит из числа r (1 ≤ r ≤ n) — позиции студента в рейтинге, числа t (1 ≤ t ≤ n) — количества желаемых специализаций и t чисел от 1 до k — номера желаемых специализаций в порядке убывания приоритета. номера специализаций не повторяются. гарантируется, что сумма t для всех студентов не превосходит 106. формат результата для каждого из n студентов выведите номер специализации, на которую он будет распределен. в случае, если на всех желаемых специализациях все места заняты студентами с более высокой позицией в рейтинге, то для студента следует вывести число -1. если правильных ответов несколько — выведите любой из них.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Magnolia200872
elmira01048775
a96849926288
Ladiga_Evgenii886
ekasatkina
zsv073625
janepustu
oksit
kalina1372
iivanovar-da
asker45967
Olifirenko119
mashere59
grishin
PetrovDrozdov1785