Автор |
Сообщение |
06.10.2015 17:40:30
Тема: Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Сначала о результатах IOI 2015:
2 серебряных медали - Кускова Барбара, 11 кл, Витебсккая обл
Сазанович Никита, 11 кл, Минская обл
2 бронзовых медали - Вистяж Алексей, 11 кл, Гродненская обл
Медяников Илья, 10 кл, Витебская обл
19-ое командное место в мире
G S B =
1 KOREA 4 3 1 0
2 U.S.A. 4 3 1 0
3 CHINA 4 3 1 0
4 RUSSIAN FED. 4 3 1 0
5 JAPAN 4 3 0 1
6 TAIWAN 4 2 1 1
7 IRAN 4 2 1 1
8 POLAND 4 1 3 0
9 VIETNAM 4 1 3 0
10 ROMANIA 4 1 2 1
11 AUSTRALIA 4 1 1 2
12 CANADA 4 1 1 2
13 THAILAND 4 0 4 0
14 KAZAKHSTAN 4 0 3 1
15 UKRAINE 4 0 3 1
16 TURKEY 4 0 3 1
17 SERBIA 4 0 3 1
18 CROATIA 4 0 3 1
19 BELARUS 4 0 2 2
20 SINGAPORE 4 0 1 3
21 FINLAND 4 0 1 3
22 INDIA 4 0 1 3
23 GEORGIA 4 0 0 4
24 SOUTH AFRICA 4 0 0 4
Медали по странам
К сожалению, хуже чем хотелось бы всем нам, и, как минимум, двое из участников, я думаю, сами недовольны своим результатом.
Но это - дело прошлое.
А данная тема посвящена будущему: кто поедет и как выступит на IOI 2016:
Скорей всего, это сделает три действующий сборник
Медяников Илья
А кто ещё?
Вот список претендентов на место в сборной Беларуси по результатам
Белорусской олимпиады 2015 года:
4 Федор Коробейников Гомельская область 9 100 55 50 100 100 100 100 42 647 Диплом 1-ой степени
7 Михаил Наталевич Лицей БГУ 10 100 85 50 60 100 100 80 22 597 Диплом 1-ой степени
10 Юрий Бондарчук Лицей БГУ 10 100 85 70 60 100 100 45 24 584 Диплом 1-ой степени
12 Илья Медяников Витебская область 10 100 70 80 45 100 100 60 7 562 Диплом 2-ой степени
16 Мария Изобова Витебская область 10 100 70 75 60 100 100 40 8 553 Диплом 2-ой степени
17 Артур Петуховский Витебская область 9 100 70 75 50 100 100 45 10 550 Диплом 2-ой степени
19 Илья Яковлев Витебская область 10 100 70 75 20 100 100 60 16 541 Диплом 2-ой степени
22 Дмитрий Тилюпо Могилевская область 10 65 55 70 60 100 70 50 63 533 Диплом 2-ой степени
23 Игорь Дорошев Гомельская область 10 100 70 75 15 100 100 60 12 532 Диплом 2-ой степени
24 Кирилл Гулин Брестская область 9 100 60 90 20 100 100 40 21 531 Диплом 2-ой степени
25 Александр Юшкевич Брестская область 10 100 55 75 40 100 100 50 8 528 Диплом 2-ой степени
32 Эдуард Вильчевский Гродненская область 10 100 70 75 20 100 100 40 9 514 Диплом 3-ей степени
33 Максим Мелеховец Брестская область 10 100 85 10 60 100 100 40 17 512 Диплом 3-ей степени
38 Данила Моиссенков Гродненская область 9 100 70 100 0 100 60 45 15 490 Диплом 3-ей степени
39 Эдуард Будняк Могилевская область 9 100 70 75 20 75 100 40 8 488 Диплом 3-ей степени
41 Павел Баранович Гродненская область 10 100 70 60 40 100 70 40 7 487 Диплом 3-ей степени
42 Александр Керножицкий Могилевская область 8 100 85 30 20 100 80 40 22 477 Диплом 3-ей степени
46 Вячеслав Козловский Гомельская область 9 100 55 75 0 100 100 40 1 471 Диплом 3-ей степени
47 Андрей Некрашевич Брестская область 8 100 70 65 20 100 70 40 4 469 Диплом 3-ей степени
48 Валерий Камеко Гомельская область 9 100 70 45 10 100 100 40 3 468 Диплом 3-ей степени
49 Павел Семенов Гомельская область 10 100 85 60 10 100 70 40 2 467 Диплом 3-ей степени
52 Влад Мосько Гомельская область 9 100 70 0 10 100 100 20 60 460 Диплом 3-ей степени
Всего - 22
Гомельская - 6
Витебская - 4
Брестская - 4
Могилевская - 3
Гродненская - 3
Лицей БГУ - 2
4 Федор Коробейников Гомельская область 9 100 55 50 100 100 100 100 42 647 Диплом 1-ой степени
23 Игорь Дорошев Гомельская область 10 100 70 75 15 100 100 60 12 532 Диплом 2-ой степени
46 Вячеслав Козловский Гомельская область 9 100 55 75 0 100 100 40 1 471 Диплом 3-ей степени
48 Валерий Камеко Гомельская область 9 100 70 45 10 100 100 40 3 468 Диплом 3-ей степени
49 Павел Семенов Гомельская область 10 100 85 60 10 100 70 40 2 467 Диплом 3-ей степени
52 Влад Мосько Гомельская область 9 100 70 0 10 100 100 20 60 460 Диплом 3-ей степени
12 Илья Медяников Витебская область 10 100 70 80 45 100 100 60 7 562 Диплом 2-ой степени
16 Мария Изобова Витебская область 10 100 70 75 60 100 100 40 8 553 Диплом 2-ой степени
17 Артур Петуховский Витебская область 9 100 70 75 50 100 100 45 10 550 Диплом 2-ой степени
19 Илья Яковлев Витебская область 10 100 70 75 20 100 100 60 16 541 Диплом 2-ой степени
24 Кирилл Гулин Брестская область 9 100 60 90 20 100 100 40 21 531 Диплом 2-ой степени
25 Александр Юшкевич Брестская область 10 100 55 75 40 100 100 50 8 528 Диплом 2-ой степени
33 Максим Мелеховец Брестская область 10 100 85 10 60 100 100 40 17 512 Диплом 3-ей степени
47 Андрей Некрашевич Брестская область 8 100 70 65 20 100 70 40 4 469 Диплом 3-ей степени
22 Дмитрий Тилюпо Могилевская область 10 65 55 70 60 100 70 50 63 533 Диплом 2-ой степени
39 Эдуард Будняк Могилевская область 9 100 70 75 20 75 100 40 8 488 Диплом 3-ей степени
42 Александр Керножицкий Могилевская область 8 100 85 30 20 100 80 40 22 477 Диплом 3-ей степени
32 Эдуард Вильчевский Гродненская область 10 100 70 75 20 100 100 40 9 514 Диплом 3-ей степени
38 Данила Моиссенков Гродненская область 9 100 70 100 0 100 60 45 15 490 Диплом 3-ей степени
41 Павел Баранович Гродненская область 10 100 70 60 40 100 70 40 7 487 Диплом 3-ей степени
7 Михаил Наталевич Лицей БГУ 10 100 85 50 60 100 100 80 22 597 Диплом 1-ой степени
10 Юрий Бондарчук Лицей БГУ 10 100 85 70 60 100 100 45 24 584 Диплом 1-ой степени
Нужно очень много поработать, чтобы не снизить уровень выступлений сборной Беларуси на IOI.
Планируя достичь высокой цели в конце, надо выставлять промежуточные ориентиры, по которым можно сверяться, правильно ли идете к цели.
Первая такая цель - еженедельные субботние Питерские командные и личные олимпиады.
Попадание в первую тройку в тренировочных Питерских олимпиадах - хороший ориентир.
Еще более важно уметь показать все, на что способны, в официальных соревнованиях - то есть ВКОШП 2015.
И опять, мечтающие об IOI 2016 должны бороться за место в тройке.
Следующий важный ориентир - олимпиады USACO.
Раз в месяц с октября по апрель нужно найти время и с максимальной выкладкой выступить в них.
Попадание в 10-ку в каждом соревновании и в 20-ку по суммарным итогам всего сезона USACO - очень хороший ориентир.
Есть и еще два ориентира
http://codeforces.ru
- регулярно (2-4 раза в месяц) там проводятся олимпиады
- красный рейтинг на Codeforces - означает готовность взять на IOI как минимум серебро
- оперативно выкладываются авторские разборы всех задач и обсуждения решения задач участниками
http://topcoder.com
- во многом достоинства аналогичны Codeforces
- важные отличия от Codeforces
.... нельзя писать решения на Паскале (для школьников остается только С/С++ пока)
.... условия задач, теория и обсуждения на английском языке
Дорогу осилит идущий!
|
06.10.2015 17:41:11
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016 (new)
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Цикл интернет-олимпиад. Сезон 2015-2016. Первая командная олимпиада.
9. Snoopy (Фёдор Коробейников) 7
13. Vitebsk1 (Илья Медяников , Артур Петуховский, Антон Шелепов) 7
15. Vitebsk2 (Илья Яковлев, Мария Изобова, Андрей Берлин) 7
16. Мозырь, КЮП #1 (Игорь Дорошев, Владислав Вишневский, Валерий Камеко) 7
39. Лицей БГУ #1 (Наталевич Михаил, Бондарчук Юрий, Мельниченко Даниил) 5
61. Гомель 2 (Артур Гайдов, Алексей Литвинов, Сергей Процкий) 5
63. Лицей БГУ #2 (Александр Петровский, Денис Анищенко, Лада Новицкая) 4
64. Vitebsk4 (Захар Коваль, Артем Старанцов, Марк Корнейчик) 4
86. Мозырь, КЮП #2 (Павел Семенов, Вячеслав Козловский, Иван Ревт) 4
87. Мозырь, КЮП #3 (Максим Клещёв, Денис Пивоваров, Владислав Козлов) 4
90. Vitebsk5 (Артем Юрков, Марина Дроздова, Елизавета Рудько) 4
92. Vitebsk3 (Владимир Кунцевич, Валерия Гиль, Константин Новиков) 4
101. Лицей БГУ #5 (Михаил, Афанасенко, Иван, Ванькович, Иван, Пузырный) 4
117. Vitebsk7 (Даниил Рудько, Богдан Судаков) 3
124. Гомелъ_City (Тимофей Грибанов, Александр Холупко, Иван Иванов) 3
128. Gozha_team (Олег Волковский) 3
137. VIKINGI (Эдуард Вильчевский, Евгений Ненартович, Дмитрий Сергей) 3
155. ГГОЛ^-^ (Евгения Цой, Андрей Шкляров, Станислав Титенок) 2
207. ГГОЛ_4 (Алексей Метлицкий, Вадим Владымцев, Руслан Сенатрев) 1
211. ГГОЛ_Fire_Dragons(Артур Синило, Эдуард Азаревич, Владислав Анисковец)1
220. ГГОЛ_Fire_Dragon (Артур Синило, Эдуард Азаревич, Владислав Анисковец)1
224. Мозырь, КЮП #5 (Артём Гончарук) 0
|
26.03.2016 08:42:59
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Дипломы 1-ой степени республики 2016
Кандидаты на отборочные сборы к миру
1 Медяников Илья 11 Витебская 746
2 Петуховский Артур 10 Витебская 717
3 Тилюпо Дмитрий 11 Могилевская 675
4 Керножицкий Александр 9 Могилевская 667
5 Мосько Владислав 10 Гомельская 666
6 Коробейников Федор 10 Гомельская 664
7 Наталевич Михаил 11 Лицей БГУ 658
8 Дорошев Игорь 11 Гомельская 647
9 Козловский Антон 11 Минск 642
10 Медунецкий Максим 11 Лицей БГУ 639
11 Шиляев Юрий 10 Минск 638
|
08.04.2016 06:19:25
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
List of IOI 2016 Participants
Sorted list of IOI participants by codeforces rating
|
09.04.2016 04:06:57
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
From: IOI-announce On Behalf Of Vytautas Jakstys
Sent: Friday, April 08, 2016 9:48 PM
To: ioi-announce@lists.ioinformatics.org
Subject: [IOI-announce] Lithuanian Olympiad in Informatics Online 2016
Dear IOI-Announce members,
For the 2nd year in a row, Lithuanian Olympiad in Informatics will be available online.
Everyone is invited to take part; Olympiad will be available world-wide.
The First round of the Competition will take place on Sunday, April 10th, starting at 8:00 UTC.
The Second round will take place the next day, on Monday, April 11th, starting at 8:00 UTC.
Practice session, registration link, further info will be available here: http://online.lmio.lt/
Do not hesitate to contact me in case you have any questions.
On behalf of Lithuanian Olympiad in Informatics team,
--
Vytautas Jakstys, On-Line Contest Manager
|
20.04.2016 07:12:06
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
IOI Training Contests
IOI Training Contest #2
|
29.04.2016 08:00:02
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
National Selections for IOI
|
30.04.2016 18:07:46
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Едут на мир
1. Коробейников Федор 10 Гомельская
2. Медяников Илья 11 Витебская
3. Наталевич Михаил 11 Лицей БГУ
4. Петуховский Артур 10 Витебская
|
08.05.2016 13:18:17
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Здесь можно потестировать решения задач IOI, включая задачи IOI 2015
|
08.05.2016 14:16:35
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Владислав Мосько
Темы: 20
Сообщений: 68
Мой профиль
|
У меня есть вопросы по поводу тестирования на DL.
В частности IOI 2015.
Вердикты абсолютно непредсказуемы - например, такое решение по задаче boxes, отосланное 3 раза подряд -
#include "boxes.h"
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cstring>
using namespace std;
long long delivery (int N, int K, int L, int positions[]) {
if (K == 1) {
long long ans = 0;
for (int i = 0; i < N; i++) {
int dist = positions[i];
if (L-positions[i] < dist)
dist = L-positions[i];
ans += 2 * dist;
}
return ans;
}
return 0;
}
Получает вот такие вердикты:
1. +(10), -[Wrong Answer], -[Wrong Answer], -[Wrong Answer], -[Wrong Answer], -[Time limit exceeded!]
2. Compilation Error
3. -[Input file grader.in not found!], -[Input file grader.in not found!], -[Input file grader.in not found!], -[Input file grader.in not found!], -[Input file grader.in not found!], -[Input file grader.in not found!]
Скорее всего, я делаю что-то не так, но я не понимаю, что это может быть.
Все-таки 10 баллов кое-как получились, но потом тот же исходник уже СЕ.
Кстати, в каком случае решение должно получать Input file grader.in not found?
|
08.05.2016 14:33:51
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Владислав Мосько
Темы: 20
Сообщений: 68
Мой профиль
|
Отправил свое решение по задаче boxes на Яндекс.Контест, там тоже совсем другие вердикты:
group 1: 1 of 7 tests passed (6 wrong-answer,1 ok). Scored for 0 points
group 2: 4 of 7 tests passed (3 wrong-answer,4 ok). Scored for 0 points
group 3: 1 of 8 tests passed (7 wrong-answer,1 ok). Scored for 0 points
group 4: 8 of 32 tests passed (24 wrong-answer,8 ok). Scored for 0 points
group 5: 8 of 42 tests passed (32 wrong-answer,8 ok,2 time-limit-exceeded). Scored for 0 points
group 6: 8 of 52 tests passed (10 runtime-error,32 wrong-answer,8 ok,2 time-limit-exceeded). Scored for 0 points
total: 0 points
|
08.05.2016 14:37:54
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Владислав Мосько
Темы: 20
Сообщений: 68
Мой профиль
|
Решение по scales на Яндекс.Контест берет 33.45, на DL - 18.67.
#include "scales.h"
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
using namespace std;
void init(int T) {
}
bool haveEdge[8][8];
bool havePath(int x, int y) {
if (x == y) return true;
bool Res = false;
for (int i = 1; i <= 6; i++)
if (haveEdge[x][i]) Res |= havePath(i, y);
return Res;
}
int maxPath(int q) {
int ret = 1;
for (int i = 1; i <= 6; i++)
if (haveEdge[q][i])
ret = max(ret, maxPath(i) + 1);
return ret;
}
bool found;
int sz;
int st[6];
int ans[6];
void dfs(int q){
if(found)return;
if (sz==6) {
for (int i=0;i<6;i++)ans[i]=st[i];
found=1;
return;
}
for (int i=1;i<=6&&!found;i++)
if (haveEdge[q][i]){
st[sz++] = i;
dfs(i);
sz--;
}
}
void orderCoins() {
for (int i=1;i<=6;i++) for (int j=1;j<=6;j++)
haveEdge[i][j] =false;
int root = 0;
while (true) {
bool solved = false;
for (int i = 1; i <= 6; i++)
if (maxPath(i) == 6) solved = true, root = i;
if (solved) break;
for (int i = 1; i <= 6; i++)
for (int j = 1; j <= 6; j++)
for (int z = 1; z <= 6; z++)
if (i != j && i != z && j != z) {
if (havePath(i, j) && havePath(i, z)) continue;
if (havePath(j, i) && havePath(j, z)) continue;
if (havePath(z, i) && havePath(z, j)) continue;
int e = getLightest(i, j, z);
if (e != i) haveEdge[e][i] = true;
if (e != j) haveEdge[e][j] = true;
if (e != z) haveEdge[e][z] = true;
}
for (int i = 1; i <= 6; i++)
for (int j = 1; j <= 6; j++)
for (int z = 1; z <= 6; z++)
if (i != j && i != z && j != z) {
if (havePath(j, i) && havePath(z, i)) continue;
if (havePath(i, j) && havePath(z, j)) continue;
if (havePath(i, z) && havePath(j, z)) continue;
int e = getHeaviest(i, j, z);
if (e != i) haveEdge[i][e] = true;
if (e != j) haveEdge[j][e] = true;
if (e != z) haveEdge[z][e] = true;
}
}
found = 0;
sz = 1;
st[0] = root;
dfs(root);
answer(ans);
}
/*
int main() {
}*/
|
10.05.2016 05:48:37
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Тестировать решения задач IOI 2010 - ... необходимо только в курсе
«Финалы международных олимпиад по информатике»,
я выставил там единственную тест-машину НИТ7,
на которой настроено тестирование.
|
10.05.2016 05:49:01
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
From: IOI-announce [mailto:ioi-announce-bounces@lists.ioinformatics.org] On Behalf Of Antti Laaksonen
Sent: Monday, May 09, 2016 9:29 PM
To: ioi-announce@lists.ioinformatics.org
Subject: [IOI-announce] Baltic Olympiad in Informatics 2016 - online contest
Dear all,
Baltic Olympiad in Informatics 2016 will take place in Helsinki, Finland
this week.
https://www.cs.helsinki.fi/group/boi2016/
Besides the official contest, there will be an online contest that is
open for everybody. The format is like IOI: two contest days, five hours
time to solve three tasks, full feedback.
On both contest days, the online contest runs simultaneously with the
official contest. The contest times are:
Contest 1: Thursday May 12, UTC 6:00-11:00
Contest 2: Friday May 13, UTC 6:00-11:00
The online contest will be available in the CSES contest system:
http://cses.fi/
You can already register an account to the system, and links to the
contests will be activated before each contest.
Best regards,
Antti Laaksonen
--
The IOI Announcements mailing list.
See https://lists.ioinformatics.org/mailman/listinfo/ioi-announce for more information.
|
15.05.2016 11:22:09
Тема: Re:Цели и задачи гомельчан и Беларуси на IOI 2016
|
Федор Коробейников
Темы: 46
Сообщений: 162
Мой профиль
|
IOI\2015\Day_2\1 - "horses" 200786
Моё решение на yandex contest берёт 100 и работает меньше 0.5 секунды, а на дл три последние группы получают TLE.
#include <set>
#include <algorithm>
#include <cstdlib>
#include <iostream>
#include "horses.h"
using namespace std;
const int maxn=1e6;
const int base=1e9+7;
int x[maxn],y[maxn];
set <int> s;
long long kfx[40];
int ll[40],n;
int tr[maxn*4],tm[maxn*4],tn[maxn*4];
int yk,ny;
long long kk[10000];
void build(int xx, int l, int r) {
if (l==r) {
tr[xx]=y[l];
tn[xx]=l;
tm[xx]=x[l];
return;
}
int mid=(l+r)/2;
build(xx*2,l,mid);
build(xx*2+1,mid+1,r);
tr[xx]=max(tr[xx*2],tr[xx*2+1]);
if (tr[xx*2]==tr[xx]) tn[xx]=tn[xx*2];
else tn[xx]=tn[xx*2+1];
tm[xx]=(1ll*tm[xx*2]*tm[xx*2+1])%base;
}
void get_max(int x, int l, int r, int ll, int rr) {
if (ll<=l && r<=rr) {
if (tr[x]>yk) {
yk=tr[x];
ny=tn[x];
}
return;
}
int mid=(r+l)/2;
if (ll<=mid) get_max(x*2,l,mid,ll,rr);
if (rr>mid) get_max(x*2+1,mid+1,r,ll,rr);
}
int mulp(int x, int l, int r, int ll, int rr) {
if (ll<=l && r<=rr) return tm[x];
int s=1;
int mid=(r+l)/2;
if (ll<=mid) s=(1ll*s*mulp(x*2,l,mid,ll,rr))%base;
if (rr>mid) s=(1ll*s*mulp(x*2+1,mid+1,r,ll,rr))%base;
return s;
}
void updy(int x, int l, int r, int ll, int y) {
if (l==r) {
tr[x]=y;
return;
}
int mid=(r+l)/2;
if (ll<=mid) updy(x*2,l,mid,ll,y);
if (ll>mid) updy(x*2+1,mid+1,r,ll,y);
tr[x]=max(tr[x*2],tr[x*2+1]);
if (tr[x*2]==tr[x]) tn[x]=tn[x*2];
else tn[x]=tn[x*2+1];
}
void updx(int x, int l, int r, int ll, int y) {
if (l==r) {
tm[x]=y;
return;
}
int mid=(r+l)/2;
if (ll<=mid) updx(x*2,l,mid,ll,y);
if (ll>mid) updx(x*2+1,mid+1,r,ll,y);
tm[x]=(1ll*tm[x*2]*tm[x*2+1])%base;
}
int get_ans() {
int k=0;
set<int>::iterator it=s.end();
it--;
long long mlp=1;
while (k<32) {
int l=*it;
mlp=mlp*x[l];
k++;
kfx[k]=x[l];
ll[k]=l;
if (mlp>1000000000) break;
if (l==0 || l==1) break;
it--;
}
reverse(kfx+1,kfx+k+1);
reverse(ll+1,ll+k+1);
ll[k+1]=n+1;
pair<long long, long long> ans=make_pair(1,1);
kfx[0]=1;
int nm=1;
for (int i=1;i<=k;i++) {
kfx[i]=kfx[i-1]*kfx[i];
yk=0;
ny=0;
if (ll[i]==0) ll[i]=1;
get_max(1,1,n,ll[i],ll[i+1]-1);
if (1.0*ans.first/yk<=1.0*kfx[i]/ans.second) {
nm=ny;
ans.first=kfx[i];
ans.second=yk;
}
}
long long sol=(1ll*mulp(1,1,n,1,nm)*y[nm])%base;
return sol;
}
int init (int N, int X[], int Y[]) {
x[0]=1;
n=N;
for (int i=1;i<=n;i++) {
x[i]=X[i-1];
y[i]=Y[i-1];
}
s.insert(0);
for (int i=1;i<=n;i++)
if (x[i]!=1) s.insert(i);
build(1,1,n);
return get_ans();
}
int updateX (int pos, int val) {
pos++;
if (x[pos]!=1) s.erase(pos);
x[pos]=val;
if (x[pos]!=1) s.insert(pos);
updx(1,1,n,pos,val);
return get_ans();
}
|
|
|