[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ... 1, 2, 3
Автор Сообщение
Михаил Долинский

Темы: 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
.... нельзя писать решения на Паскале (для школьников остается только С/С++ пока)
.... условия задач, теория и обсуждения на английском языке

Дорогу осилит идущий!
Михаил Долинский

Темы: 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 

Михаил Долинский

Темы: 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

Михаил Долинский

Темы: 1984
Сообщений: 47224

Мой профиль
List of IOI 2016 Participants

Sorted list of IOI participants by codeforces rating
Михаил Долинский

Темы: 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





Михаил Долинский

Темы: 1984
Сообщений: 47224

Мой профиль
IOI Training Contests
IOI Training Contest #2
Михаил Долинский

Темы: 1984
Сообщений: 47224

Мой профиль
National Selections for IOI
Михаил Долинский

Темы: 1984
Сообщений: 47224

Мой профиль
Едут на мир

1. Коробейников Федор      10	Гомельская
2. Медяников Илья          11	Витебская         
3. Наталевич Михаил        11	Лицей БГУ      
4. Петуховский Артур       10	Витебская

Михаил Долинский

Темы: 1984
Сообщений: 47224

Мой профиль
Здесь можно потестировать решения задач IOI, включая задачи IOI 2015
Владислав Мосько

Темы: 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?
Владислав Мосько

Темы: 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
Владислав Мосько

Темы: 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() {


}*/

Михаил Долинский

Темы: 1984
Сообщений: 47224

Мой профиль
Тестировать решения задач IOI 2010 - ... необходимо только в курсе
«Финалы международных олимпиад по информатике»,
я выставил там единственную тест-машину НИТ7,
на которой настроено тестирование.
Михаил Долинский

Темы: 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.
Федор Коробейников

Темы: 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();
}


 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ... 1, 2, 3
Time:0,046