- PVSM.RU - https://www.pvsm.ru -
Честно говоря, я не ожидал такого количества решений: за 24 часа было прислано 265 решений, из которых после удаления повторных отправок осталось 183.
Из 183 решений у 11 был превышен допустимый размер решения, в 19 случаях — не удалось скомпилировать (об этих ошибках подробнее ниже). Далее 47 дали неправильные ответы на простых тестах (1..1000000), 8 не успели посчитать ответ за минуту (образец решения из условия задачи для 1млн работал 5 минут 36 секунд).
На сложных тестах — 5 решений выдали неверный ответ, и 12 — не уложились в одну минуту. 86 — успешно прошли все тесты.
Если кто потерял, вот топик о старте соревнования [1].
Тестировалось все банальными скриптами, самая трудоёмкая операция — сохранение руками решений из почты (и повторные имена файлов… 42 штуки main.cpp....). Это видимо один из тех случаев, когда написать web-приложение для приема решений быстрее, чем разгребать тонны почты.Результаты тестирования — складывались в MySQL, откуда строилась таблица результатов.
3 самых быстрых решения тестировались со 100-кратным повторением — чтобы получить более точное время работы (отличие от одиночного прогона в пределах 1%)
Простые тесты:
function do_test($input, $expected_output)
{
global $task_id;
exec("echo '$input' | Solutions2/bin/$task_id &2>1", $output);
if(count($output)==0)return false;
return(strcmp($output[0], $expected_output)==0);
}
$result = do_test("10","17") && do_test("1","0") && do_test("1000","76127") && do_test("100000","454396537") && do_test("1000000","37550402023");
Сложные тесты:
Оценивалось усредненное время выполнения (т.е. время выполнения для 4-х разных входных значений, деленное на 4).
$start_time = microtime (true);
//for($i=0;$i<100;$i++)
$result = do_test("980000000","23783220704190493") && do_test("1051174931","27269025983026043") && do_test("891728152","19783994900202129") && do_test("761987760","14559966509022149");
$end_time = microtime (true);
№ | Habraname | Нужен ли инвайт | Результат | System ID |
---|---|---|---|---|
1 | shadeware [2] | Уже нет | 0.035053772330284 сек. | 48 |
2 | mikhaelkh [3] | Уже нет | 0.039169362783432 сек. | 41 |
3 | Icemore [4] | Уже нет | 0.068273649811745 сек. | 129 |
4 | ripatti [5] | Уже нет | 0.11206769943237 сек. | 8 |
5 | kbxxi [6] | Да | 0.15401327610016 сек. | 156 |
6 | monoid [7] | Да | 0.22840601205826 сек. | 69 |
7 | Zver1992 [8] | 0.23262423276901 сек. | 133 | |
8 | Mrrl [9] | 0.37099504470825 сек. | 178 | |
9 | Staker [10] | Да | 0.66007524728775 сек. | 171 |
10 | SyDr [11] | Да | 0.93328875303268 сек. | 78 |
11 | vbarinov [12] | Да | 3.2648342847824 сек. | 108 |
12 | vanla [13] | Да | 3.3831697702408 сек. | 19 |
13 | MaSaK [14] | Да | 3.4151287674904 сек. | 20 |
14 | dark1ight [15] | 3.5476635098457 сек. | 36 | |
15 | udalov [16] | Да | 3.8905065059662 сек. | 116 |
16 | bklim [17] | 4.3489827513695 сек. | 149 | |
17 | cfighter [18] | 4.4272682070732 сек. | 11 | |
18 | VladVR [19] | 4.7588297724724 сек. | 89 | |
19 | borozdinKirill [20] | 4.775633752346 сек. | 109 | |
20 | ZhekSooN [21] | 4.8941134810448 сек. | 122 | |
21 | madkite [22] | 4.9126330018044 сек. | 114 | |
22 | akazakow [23] | 5.208831012249 сек. | 45 | |
23 | mingrief [24] | 5.2523249983788 сек. | 179 | |
24 | pasky [25] | 5.9874464869499 сек. | 5 | |
25 | ewnd9 [26] | 6.024626493454 сек. | 183 | |
26 | gnhdnb [27] | 6.0333037376404 сек. | 158 | |
27 | through_horizon [28] | 6.2488570213318 сек. | 21 | |
28 | kosmos89 [29] | 6.2885909676552 сек. | 126 | |
29 | Nickel [30] | 6.36874127388 сек. | 42 | |
30 | infsega [31] | 6.4502172470093 сек. | 33 | |
31 | shuternay [32] | 6.4606020450592 сек. | 6 | |
32 | smyatkin_maxim [33] | 6.5664409995079 сек. | 123 | |
33 | azhi [34] | 6.9450110197067 сек. | 145 | |
34 | Valmount [35] | 7.2953402400017 сек. | 147 | |
35 | Alick09 [36] | 7.4088390469551 сек. | 125 | |
36 | alexeibs [37] | 7.6391640305519 сек. | 177 | |
37 | DoctorStein [38] | 7.6435596942902 сек. | 128 | |
38 | Kenny_HORROR [39] | 7.8451775312424 сек. | 77 | |
39 | Ratio2 [40] | 7.8529967665672 сек. | 53 | |
40 | @No username specified | 8.0461687445641 сек. | 80 | |
41 | mobi [41] | 8.129643201828 сек. | 64 | |
42 | Lonsdaleite [42] | 8.2785065174103 сек. | 92 | |
43 | tiirz [43] | 8.3757525086403 сек. | 134 | |
44 | Goryn [44] | 8.3831282258034 сек. | 167 | |
45 | Leronxp [45] | 8.5381667613983 сек. | 93 | |
46 | singstio [46] | 8.5835777521133 сек. | 165 | |
47 | CTAKAH4uK [47] | 8.7342492341995 сек. | 173 | |
48 | XMypuK [48] | 8.8221767544746 сек. | 95 | |
49 | Edelweiss [49] | 8.8413127660751 сек. | 61 | |
50 | Jovfer [50] | 9.6698319911957 сек. | 174 | |
51 | crimaniak [51] | 10.019654750824 сек. | 113 | |
52 | luckman [52] | 10.166677713394 сек. | 46 | |
53 | ladilova [53] | 10.607916533947 сек. | 59 | |
54 | Gromilo [54] | 11.256841778755 сек. | 86 | |
55 | FreeCoder [55] | 11.380919516087 сек. | 44 | |
56 | awa [56] | 11.482711791992 сек. | 102 | |
57 | sprosin [57] | 11.626729488373 сек. | 76 | |
58 | BelerafonL [58] | 11.740502238274 сек. | 15 | |
59 | polar_winter [59] | 11.798308491707 сек. | 47 | |
60 | luckychess [60] | 11.956114530563 сек. | 143 | |
61 | darinflar [61] | 11.991075217724 сек. | 105 | |
62 | kreep [62] | 12.082272768021 сек. | 170 | |
63 | iqmaker [63] | 12.346569001675 сек. | 34 | |
64 | dima11221122 [64] | 12.357870519161 сек. | 54 | |
65 | kos66 [65] | 12.412921786308 сек. | 68 | |
66 | alex_r [66] | 12.501110970974 сек. | 31 | |
67 | dannk [67] | 12.711302280426 сек. | 138 | |
68 | andreybotanic [68] | 12.847037494183 сек. | 40 | |
69 | realsugar [69] | 14.033301234245 сек. | 10 | |
70 | kromych [70] | 14.101772785187 сек. | 25 | |
71 | iamnp [71] | 14.298875749111 сек. | 32 | |
72 | skripkakos [72] | 14.305522501469 сек. | 96 | |
73 | OnScript [73] | 14.555817246437 сек. | 142 | |
74 | aserty [74] | 15.127694249153 сек. | 175 | |
75 | ivanbl4 [75] | 15.24883300066 сек. | 148 | |
76 | kinbote [76] | 16.56739872694 сек. | 130 | |
77 | ryokuyou [77] | 16.733837723732 сек. | 106 | |
78 | quarck [78] | 21.369844019413 сек. | 157 | |
79 | sultanko [79] | 21.440900743008 сек. | 172 | |
80 | Yura1111 [80] | 22.057671248913 сек. | 30 | |
81 | Troyal [81] | 22.184078454971 сек. | 99 | |
82 | Izobara [82] | 23.361551761627 сек. | 16 | |
83 | PutPixel [83] | 35.820213794708 сек. | 180 | |
84 | CheshaNeko [84] | 53.085104465485 сек. | 120 | |
85 | fromnull [85] | 53.490429997444 сек. | 65 | |
86 | ronsenval [86] | Неверный ответ на сложных тестах | 14 | |
87 | undiabler [87] | Неверный ответ на сложных тестах | 26 | |
88 | MrDindows [88] | Неверный ответ на сложных тестах | 52 | |
89 | kladov [89] | Неверный ответ на сложных тестах | 66 | |
90 | Andrew146 [90] | Неверный ответ на сложных тестах | 127 | |
91 | vaux [91] | Превышено допустимое время на сложных тестах | 22 | |
92 | marsencpp [92] | Превышено допустимое время на сложных тестах | 27 | |
93 | phrk [93] | Превышено допустимое время на сложных тестах | 43 | |
94 | burtsev [94] | Превышено допустимое время на сложных тестах | 55 | |
95 | yooll [95] | Превышено допустимое время на сложных тестах | 58 | |
96 | DarkContact [96] | Превышено допустимое время на сложных тестах | 70 | |
97 | drongosar [97] | Превышено допустимое время на сложных тестах | 87 | |
98 | alexvab [98] | Превышено допустимое время на сложных тестах | 90 | |
99 | MrKonshyn [99] | Превышено допустимое время на сложных тестах | 91 | |
100 | appplemac [100] | Превышено допустимое время на сложных тестах | 112 | |
101 | msn92 [101] | Превышено допустимое время на сложных тестах | 136 | |
102 | ikalnitsky [102] | Превышено допустимое время на сложных тестах | 152 | |
103 | 0Chekhov0 [103] | Неверный ответ на простых тестах | 1 | |
104 | savik1 [104] | Неверный ответ на простых тестах | 2 | |
105 | zenden2k [105] | Неверный ответ на простых тестах | 12 | |
106 | alexaol [106] | Неверный ответ на простых тестах | 17 | |
107 | Avitella [107] | Неверный ответ на простых тестах | 18 | |
108 | yrik04 [108] | Неверный ответ на простых тестах | 24 | |
109 | topz [109] | Неверный ответ на простых тестах | 35 | |
110 | drozdVadym [110] | Неверный ответ на простых тестах | 37 | |
111 | anton280 [111] | Неверный ответ на простых тестах | 39 | |
112 | ehead01 [112] | Неверный ответ на простых тестах | 49 | |
113 | 8086 [113] | Неверный ответ на простых тестах | 50 | |
114 | DIMKAAAAA [114] | Неверный ответ на простых тестах | 57 | |
115 | mike_4d [115] | Неверный ответ на простых тестах | 60 | |
116 | alineman [116] | Неверный ответ на простых тестах | 74 | |
117 | pavor84 [117] | Неверный ответ на простых тестах | 75 | |
118 | denzp [118] | Неверный ответ на простых тестах | 79 | |
119 | RamTararam [119] | Неверный ответ на простых тестах | 81 | |
120 | DezzK [120] | Неверный ответ на простых тестах | 82 | |
121 | frozendog [121] | Неверный ответ на простых тестах | 83 | |
122 | sasha237 [122] | Неверный ответ на простых тестах | 98 | |
123 | aX1v [123] | Неверный ответ на простых тестах | 103 | |
124 | rutigl [124] | Неверный ответ на простых тестах | 104 | |
125 | Joric [125] | Неверный ответ на простых тестах | 107 | |
126 | LibertyPaul [126] | Неверный ответ на простых тестах | 110 | |
127 | volokitinss [127] | Неверный ответ на простых тестах | 111 | |
128 | Formicidae [128] | Неверный ответ на простых тестах | 115 | |
129 | fao [129] | Неверный ответ на простых тестах | 117 | |
130 | vkm [130] | Неверный ответ на простых тестах | 124 | |
131 | kleninz [131] | Неверный ответ на простых тестах | 131 | |
132 | knstqq [132] | Неверный ответ на простых тестах | 135 | |
133 | ryokuyou [77] | Неверный ответ на простых тестах | 139 | |
134 | morphing [133] | Неверный ответ на простых тестах | 140 | |
135 | Vaddddd [134] | Неверный ответ на простых тестах | 144 | |
136 | ancalled [135] | Неверный ответ на простых тестах | 150 | |
137 | fasterthanlight [136] | Неверный ответ на простых тестах | 154 | |
138 | sinc [137] | Неверный ответ на простых тестах | 155 | |
139 | Satayev [138] | Неверный ответ на простых тестах | 159 | |
140 | eversyt [139] | Неверный ответ на простых тестах | 162 | |
141 | zyss [140] | Неверный ответ на простых тестах | 163 | |
142 | smile616 [141] | Неверный ответ на простых тестах | 166 | |
143 | Moress [142] | Неверный ответ на простых тестах | 169 | |
144 | zzzeeerrr0 [143] | Неверный ответ на простых тестах | 176 | |
145 | kilotaras [144] | Неверный ответ на простых тестах | 182 | |
146 | I_AM_FAKE [145] | Превышено допустимое время на простых тестах | 7 | |
147 | Aksiom [146] | Превышено допустимое время на простых тестах | 28 | |
148 | WarAngel_alk [147] | Превышено допустимое время на простых тестах | 63 | |
149 | skovpen [148] | Превышено допустимое время на простых тестах | 132 | |
150 | safinaskar [149] | Превышено допустимое время на простых тестах | 160 | |
151 | @No username specified | Превышено допустимое время на простых тестах | 168 | |
152 | jit_md [150] | Превышено допустимое время на простых тестах | 181 | |
153 | mrigi [151] | Попытка работать с отсутствующей сетью | 146 | |
154 | Tweekaz [152] | Ошибка компиляции | 3 | |
155 | @No username specified | Ошибка компиляции | 4 | |
156 | Thunderbird [153] | Ошибка компиляции | 9 | |
157 | shock_one [154] | Ошибка компиляции | 13 | |
158 | shy [155] | Ошибка компиляции | 23 | |
159 | Dgut [156] | Ошибка компиляции | 38 | |
160 | ShouldNotSeeMe [157] | Ошибка компиляции | 56 | |
161 | therussianphysicist [158] | Ошибка компиляции | 62 | |
162 | aamuvirkku [159] | Ошибка компиляции | 84 | |
163 | IntegralUnderground [160] | Ошибка компиляции | 85 | |
164 | 0leksandr [161] | Ошибка компиляции | 88 | |
165 | ipoder [162] | Ошибка компиляции | 94 | |
166 | IharBury [163] | Ошибка компиляции | 97 | |
167 | xtern [164] | Ошибка компиляции | 100 | |
168 | KycokCo6aku [165] | Ошибка компиляции | 101 | |
169 | gridem [166] | Ошибка компиляции | 118 | |
170 | minc2319 [167] | Ошибка компиляции | 141 | |
171 | okneigres [168] | Ошибка компиляции | 151 | |
172 | antidotcb [169] | Ошибка компиляции | 164 | |
173 | merkius [170] | Превышен допустимый размер файла | 71 | |
174 | iTwin [171] | Превышен допустимый размер файла | 29 | |
175 | bstructure [172] | Превышен допустимый размер файла | 153 | |
176 | fsv [173] | Превышен допустимый размер файла | 51 | |
177 | 411 [174] | Превышен допустимый размер файла | 72 | |
178 | pleha [175] | Превышен допустимый размер файла | 67 | |
179 | staricam [176] | Превышен допустимый размер файла | 73 | |
180 | chipa [177] | Превышен допустимый размер файла | 119 | |
181 | dosefose [178] | Превышен допустимый размер файла | 121 | |
182 | SergeySib [179] | Превышен допустимый размер файла | 161 | |
183 | Ptax [180] | Превышен допустимый размер файла | 137 |
Писали для MS VC: __int64 вместо long long или __int64_t, не подключен math.h, использование отсутствующего stdafx.h.
Писали для Windows: Math.h<>math.h
Bleeding-edge C++11 фичи: К сожалению, корректный код не всегда компилируется. У clang есть проблемы с C++11 многопоточностью (компилятор не может скомпилировать стандартную библиотеку, баг известен — я пробовал накатить патч — но не помогло). Если это не протестировать до отправки на целевом компиляторе — то проблему никак не обнаружить.
Синтаксические ошибки: Банальная внимательность — подозреваю отправку не сохраненного файла.
Непортируемый на 64-bit код: Попытки неявно привести указатель к int, и обратно.
memset: undeclared identifier 'memset'; did you mean 'wmemset'? Находилось онлайн-тестом на сайте llvm. Самая популярная ошибка.
Segmentation fault: Половина неверных ответов на коротких тестах — это segfault-ы и краши.
Увидеть свои результаты компиляции можно тут [181] (смотреть по System ID)
Изначально я хотел рассказать и об алгоритмах решения — но сейчас я вижу, что понятия не имею, как работают первые 2 места, потому лучше нам подождать авторов :-) Тем не менее, стоит заметить, что использование потоков не является необходимым условием для победы.
//@shadeware
#include <cstdio>
#include <vector>
#include <cmath>
unsigned i,n,Q,j,L;long long u[66],A;int main(){for(;i<448;i++)u[i/7+2]=u[i/7+2]*96+"+.Uy[e^4MAqc>,3Vq8a}n3-teC`p2r/)Fl[2Z)|>Ke2O~7<Co2:Q]dpI23fM5~22'X S'}2"z;})81lu^+vx1s sc[U1g%Wzq+1s3 ?1[1HQoI$^1TH2EaX1cEzV,Z1CHMY7o1DHmqPA1D#4oe]1F&|'F^1R`5'k)0{z2\Oc1<T/G)x10BVH)~1B,ZzW:1)>FZ%$1+[%c"<0dAd/tP1->"0M!1;JwZ6!1*%j_y00V6$w!u10I dHR1PXF]r20!?Xhxw1?nbdEr0e-/ZE_0s:6:z.0[}+qG51<y9WfF0.^#nCQ0s)I(d/0XfrAQB10^,7e?0^X'W4 13M.MfL0"
"5Q2Oz50fxnC)E0V@NGo+0=Z?sS/0I_*[l0\W)O u1pw[AYJ/A?Xk;g0rbiYbu1*{Pj>f0'"aEs60OP;ZHs0zsjvXg0:~BPSu/aWY+&F1_aM,<q"[i]-32;for(i=0;i<64;i++)u[i+2]+=2*u[i+1]-u[i];scanf("%u",&n);Q=sqrt(n)+1e-7,L=n>>24<<24;A=u[(n>>24)+1]+2*!L*!!~-n;std::vector<bool>S(Q/2+1),B(n-L+2);B[1]=!L;for(i=3;i<=Q;i+=2)if(!S[i/2]){for(j=3*i;j<=Q;j+=2*i)S[j/2]=1;for(j=L?(L+i-1)/i*i:2*i;j<=n;j+=i)B[j-L]=1;}for(i=1;i+L<=n;i+=2)B[i]?0:A+=i+L;printf("%llun",A);}
//@mikhaelkh
#include <cstdio>
#include <bitset>
unsigned char s[]=" 3ћfСЫБ b”Ђ)Cр ®—іЈ€Я $9шэD » $ѕ|Іш®† %ЃЉЃмF© &_яВГЕЕ 'Y¶FьВµ (nsџИp± )ќлznQ2 *иSР—ж) ,oшtе\v -пW0BC† /«Ю#™)ґ 1‚ьј”8P 3sю[Y6i 5.qЛ.“ 7¤zMЃшj 9г—‹XyЇ <_‰XжЅ >ТOh«€Y AЃМ“«n® DKr]µrЩ G.?“нU® J*Ј»‚Џ M@Eп†Ь PpYґпHј S№pvdјя W>дGpІш ZєQЦаЋ~ ^qяmty= bC†,щnт f.d“¤ ¤ j1Ж [|Ј nN№BўЮ: r…ЄGрр vФiчwЁ{ {_Лз}Lh б*sЁЭ# „ћoї‹УE ‰to]¶е~ Ћd*4:иХ “kѕK8ћш Њ~ќQЄ ќЕЛ7д6« Ј;Ёл0ўь Ё§Iвc§б ®ObЗюЏP імЏxь>† №Е›»ЯPo ї·NцбЬ† ЕБ1ґgп& ЛгlъІcѓ ТAdЎ“[$ Ш–Й:ілЧ Я%юі±Ю1 е«_7бќЌ мlчnєСџ уF”ЭDРЭ ъ8ћуcћЖ $$CМжМMЕ $+gDbцPр $2ЎЧтУ‡E $9цА®П†Ы ";
enum{S=1<<14,N=1<<23};
long long a[65],res;
std::bitset<S> u;
std::bitset<N> v;
int n,r,x,i,j;
int main() {
scanf("%d",&n);
for (i=1;i<65;++i)
for (++j;s[j]>32;++j)
a[i]=221*a[i]+s[j]-35;
*a=2,res=a[j=n/2/N],x=j*2*N,v[0]=!j;
for (i=3;i<S+S;i+=2)
if (!u[i/2]) {
for (j=i*i/2;j<S;j+=i)u[j]=1;
for (j=(x?((r=i-x%i)&1?r:r+i):i*i)/2;j<N;j+=i)v[j]=1;
}
for(i=1;i<=n-x;i+=2)
if(!v[i/2])res+=x+i;
printf("%lldn", n>1?res:0);
}
//@Icemore
#include<iostream>
#include<cmath>
#include<memory.h>
#include<pthread.h>
#define lng long long
const int T=4,Q=33000,S=100000;
bool np[Q],b[T][S];
int p[Q],c,B,s,e;
lng A[T],R,P[]={0,1906816620981654LL,7357074544482779LL,16217881619242062LL,28422918403819825LL};
void* f(void*_){
long id=(long)_;
int C=(e/S-B+1)/T,q,M,i,j,k;
M=(id==T-1)?(e/S+1):(id+1)*C+B;
for(k=id*C+B;k<M;++k){
memset(b[id],0,sizeof(bool)*S);q=k*S;
for(i=0;i<c;++i){
j=(q+p[i]-1)/p[i];j=(j>1?j:2)*p[i]-q;
for(;j<S;j+=p[i])b[id][j]=1;
}
if(!k)b[id][0]=b[id][1]=1;
for(i=std::max(0,s-q);i<S&&q+i<=e;++i)if(!b[id][i])A[id]+=q+i;
}
return 0;
}
int main(){
int n,i,q,j;
std::cin>>n;
i=(n-1)/(1<<28);s=i*(1<<28)+2;e=(i+1)*(1<<28);
if(n-s-1<e-n)R=P[i],e=n;else s=n+1,R=-P[i+1];
B=s/S;q=(int)sqrt(e+.0);p[c++]=2;
for(i=3;i<=q;i+=2)if(!np[i])for(j=i*i,p[c++]=i;j<=q;j+=i)np[j]=1;
pthread_t t[T];
for(i=0;i<T;++i)pthread_create(t+i,0,f,(void*)(i));
for(i=0;i<T;++i)pthread_join(t[i],0),R+=A[i];
std::cout<<(R>0?R:-R);
}
//@ripatti
//идея - блочное решето с предпросчетом ответов для нескольких первых блоков
#include <iostream>
#include <memory.h>
#define S 150000
bool F[40000],B[S];
int P[10000],p=0;
long long pre[]={0,79835127420606,307011790722811,675490692294675,
1182357709860117,1825666731904492,2603717273255596,3515373254256955,
4559774703609068,5736228298250417,7043215380181465,8481171232603598,
10049045128993920,11745741297705187,13571569117886223,15525668198679060,
17608378509778587,19817357312226874,22154562782502270,24618987306923167,
27209541722648039};
int main(){
int a,b,c,n,Z=(1<<15),Q=S*350;
std::cin >> n;
long long ans=pre[n/Q];
for(a=2;a*a<Z;a++)if(!F[a])for(b=a*a;b<Z;b+=a)F[b]=true;
for(a=2;a<Z;a++)if(!F[a])P[p++]=a;
for(a=(n/Q)*Q;a<=n;a+=S){
memset(B,0,sizeof B);
for(b=0;b<p;b++)for(c=std::max(2,(a+P[b]-1)/P[b])*P[b]-a;c<S;c+=P[b])B[c]=true;
if(a==0)B[0]=B[1]=true;
for(b=0;b<S&&a+b<=n;b++)if(!B[b])ans+=a+b;
}
std::cout << ans;
return 0;
}
//@kbxxi
#include <iostream>
long long A[]={0,72619548630277,279209790387276,614333144695291,1075207199997334,1660170771905893,2367646772295462,
3196703482711201,4146437503168147,5215984059716389,6404774487532576,7711724083073573,9137303389808024,
10680189372387880,12340337443955708,14116726304047228,16010026481858292,18019518580817005,20143329357815162,
22383876593236984,24739512092254535,27209541722648039};
char S[50000100];
int p[50100],C,i,j,B=50000000,l,r;
long long R=0;
int main(){
std::cin >> r;
for (i=2;i<=100000;i++)
if (!S[i]){
p[C++]=i;
for (j=2*i;j<=100000;j+=i)
S[j]=1;
} else S[i]=0;
l=r/B*B+1;
for (i=1;p[i]*p[i]<=r;i++){
int v=p[i],P=l/v*v;
if (P<l) P+=v;
if (P==v) P+=v;
if (!(P&1)) P+=v;
v*=2;
while (P<=r) S[P-l]=1,P+=v;
}
for (i=l;i<=r;i+=2) if (!S[i-l] && i!=1) R+=i;
if (l==1 && r>1) R+=2;
std::cout<<A[r/B]+R;
return 0;
}
//@singstio
#include<iostream>
#include<vector>
#include<math.h>
using namespace std;
int main()
{
__int64_t n,sum=0,i,j,sn;
cin>>n;
sn=int(sqrt(n))+1;
vector<bool> s(n+1,true);
for(i=2;i<=sn;i++)
if(s[i]){
for(j=i*i;j<=n;j+=i)s[j]=false;}
for(i=2;i<=n;i++)if(s[i])sum+=i;
cout<<sum<<endl;
}
Автор: BarsMonster
Источник [183]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/algoritmy/23949
Ссылки в тексте:
[1] топик о старте соревнования: http://habrahabr.ru/post/164515/
[2] shadeware: http://habrahabr.ru/users/shadeware/
[3] mikhaelkh: http://habrahabr.ru/users/mikhaelkh/
[4] Icemore: http://habrahabr.ru/users/icemore/
[5] ripatti: http://habrahabr.ru/users/ripatti/
[6] kbxxi: http://habrahabr.ru/users/kbxxi/
[7] monoid: http://habrahabr.ru/users/monoid/
[8] Zver1992: http://habrahabr.ru/users/zver1992/
[9] Mrrl: http://habrahabr.ru/users/mrrl/
[10] Staker: http://habrahabr.ru/users/staker/
[11] SyDr: http://habrahabr.ru/users/sydr/
[12] vbarinov: http://habrahabr.ru/users/vbarinov/
[13] vanla: http://habrahabr.ru/users/vanla/
[14] MaSaK: http://habrahabr.ru/users/masak/
[15] dark1ight: http://habrahabr.ru/users/dark1ight/
[16] udalov: http://habrahabr.ru/users/udalov/
[17] bklim: http://habrahabr.ru/users/bklim/
[18] cfighter: http://habrahabr.ru/users/cfighter/
[19] VladVR: http://habrahabr.ru/users/vladvr/
[20] borozdinKirill: http://habrahabr.ru/users/borozdinkirill/
[21] ZhekSooN: http://habrahabr.ru/users/zheksoon/
[22] madkite: http://habrahabr.ru/users/madkite/
[23] akazakow: http://habrahabr.ru/users/akazakow/
[24] mingrief: http://habrahabr.ru/users/mingrief/
[25] pasky: http://habrahabr.ru/users/pasky/
[26] ewnd9: http://habrahabr.ru/users/ewnd9/
[27] gnhdnb: http://habrahabr.ru/users/gnhdnb/
[28] through_horizon: http://habrahabr.ru/users/through_horizon/
[29] kosmos89: http://habrahabr.ru/users/kosmos89/
[30] Nickel: http://habrahabr.ru/users/nickel/
[31] infsega: http://habrahabr.ru/users/infsega/
[32] shuternay: http://habrahabr.ru/users/shuternay/
[33] smyatkin_maxim: http://habrahabr.ru/users/smyatkin_maxim/
[34] azhi: http://habrahabr.ru/users/azhi/
[35] Valmount: http://habrahabr.ru/users/valmount/
[36] Alick09: http://habrahabr.ru/users/alick09/
[37] alexeibs: http://habrahabr.ru/users/alexeibs/
[38] DoctorStein: http://habrahabr.ru/users/doctorstein/
[39] Kenny_HORROR: http://habrahabr.ru/users/kenny_horror/
[40] Ratio2: http://habrahabr.ru/users/ratio2/
[41] mobi: http://habrahabr.ru/users/mobi/
[42] Lonsdaleite: http://habrahabr.ru/users/lonsdaleite/
[43] tiirz: http://habrahabr.ru/users/tiirz/
[44] Goryn: http://habrahabr.ru/users/goryn/
[45] Leronxp: http://habrahabr.ru/users/leronxp/
[46] singstio: http://habrahabr.ru/users/singstio/
[47] CTAKAH4uK: http://habrahabr.ru/users/ctakah4uk/
[48] XMypuK: http://habrahabr.ru/users/xmypuk/
[49] Edelweiss: http://habrahabr.ru/users/edelweiss/
[50] Jovfer: http://habrahabr.ru/users/jovfer/
[51] crimaniak: http://habrahabr.ru/users/crimaniak/
[52] luckman: http://habrahabr.ru/users/luckman/
[53] ladilova: http://habrahabr.ru/users/ladilova/
[54] Gromilo: http://habrahabr.ru/users/gromilo/
[55] FreeCoder: http://habrahabr.ru/users/freecoder/
[56] awa: http://habrahabr.ru/users/awa/
[57] sprosin: http://habrahabr.ru/users/sprosin/
[58] BelerafonL: http://habrahabr.ru/users/belerafonl/
[59] polar_winter: http://habrahabr.ru/users/polar_winter/
[60] luckychess: http://habrahabr.ru/users/luckychess/
[61] darinflar: http://habrahabr.ru/users/darinflar/
[62] kreep: http://habrahabr.ru/users/kreep/
[63] iqmaker: http://habrahabr.ru/users/iqmaker/
[64] dima11221122: http://habrahabr.ru/users/dima11221122/
[65] kos66: http://habrahabr.ru/users/kos66/
[66] alex_r: http://habrahabr.ru/users/alex_r/
[67] dannk: http://habrahabr.ru/users/dannk/
[68] andreybotanic: http://habrahabr.ru/users/andreybotanic/
[69] realsugar: http://habrahabr.ru/users/realsugar/
[70] kromych: http://habrahabr.ru/users/kromych/
[71] iamnp: http://habrahabr.ru/users/iamnp/
[72] skripkakos: http://habrahabr.ru/users/skripkakos/
[73] OnScript: http://habrahabr.ru/users/onscript/
[74] aserty: http://habrahabr.ru/users/aserty/
[75] ivanbl4: http://habrahabr.ru/users/ivanbl4/
[76] kinbote: http://habrahabr.ru/users/kinbote/
[77] ryokuyou: http://habrahabr.ru/users/ryokuyou/
[78] quarck: http://habrahabr.ru/users/quarck/
[79] sultanko: http://habrahabr.ru/users/sultanko/
[80] Yura1111: http://habrahabr.ru/users/yura1111/
[81] Troyal: http://habrahabr.ru/users/troyal/
[82] Izobara: http://habrahabr.ru/users/izobara/
[83] PutPixel: http://habrahabr.ru/users/putpixel/
[84] CheshaNeko: http://habrahabr.ru/users/cheshaneko/
[85] fromnull: http://habrahabr.ru/users/fromnull/
[86] ronsenval: http://habrahabr.ru/users/ronsenval/
[87] undiabler: http://habrahabr.ru/users/undiabler/
[88] MrDindows: http://habrahabr.ru/users/mrdindows/
[89] kladov: http://habrahabr.ru/users/kladov/
[90] Andrew146: http://habrahabr.ru/users/andrew146/
[91] vaux: http://habrahabr.ru/users/vaux/
[92] marsencpp: http://habrahabr.ru/users/marsencpp/
[93] phrk: http://habrahabr.ru/users/phrk/
[94] burtsev: http://habrahabr.ru/users/burtsev/
[95] yooll: http://habrahabr.ru/users/yooll/
[96] DarkContact: http://habrahabr.ru/users/darkcontact/
[97] drongosar: http://habrahabr.ru/users/drongosar/
[98] alexvab: http://habrahabr.ru/users/alexvab/
[99] MrKonshyn: http://habrahabr.ru/users/mrkonshyn/
[100] appplemac: http://habrahabr.ru/users/appplemac/
[101] msn92: http://habrahabr.ru/users/msn92/
[102] ikalnitsky: http://habrahabr.ru/users/ikalnitsky/
[103] 0Chekhov0: http://habrahabr.ru/users/0chekhov0/
[104] savik1: http://habrahabr.ru/users/savik1/
[105] zenden2k: http://habrahabr.ru/users/zenden2k/
[106] alexaol: http://habrahabr.ru/users/alexaol/
[107] Avitella: http://habrahabr.ru/users/avitella/
[108] yrik04: http://habrahabr.ru/users/yrik04/
[109] topz: http://habrahabr.ru/users/topz/
[110] drozdVadym: http://habrahabr.ru/users/drozdvadym/
[111] anton280: http://habrahabr.ru/users/anton280/
[112] ehead01: http://habrahabr.ru/users/ehead01/
[113] 8086: http://habrahabr.ru/users/8086/
[114] DIMKAAAAA: http://habrahabr.ru/users/dimkaaaaa/
[115] mike_4d: http://habrahabr.ru/users/mike_4d/
[116] alineman: http://habrahabr.ru/users/alineman/
[117] pavor84: http://habrahabr.ru/users/pavor84/
[118] denzp: http://habrahabr.ru/users/denzp/
[119] RamTararam: http://habrahabr.ru/users/ramtararam/
[120] DezzK: http://habrahabr.ru/users/dezzk/
[121] frozendog: http://habrahabr.ru/users/frozendog/
[122] sasha237: http://habrahabr.ru/users/sasha237/
[123] aX1v: http://habrahabr.ru/users/ax1v/
[124] rutigl: http://habrahabr.ru/users/rutigl/
[125] Joric: http://habrahabr.ru/users/joric/
[126] LibertyPaul: http://habrahabr.ru/users/libertypaul/
[127] volokitinss: http://habrahabr.ru/users/volokitinss/
[128] Formicidae: http://habrahabr.ru/users/formicidae/
[129] fao: http://habrahabr.ru/users/fao/
[130] vkm: http://habrahabr.ru/users/vkm/
[131] kleninz: http://habrahabr.ru/users/kleninz/
[132] knstqq: http://habrahabr.ru/users/knstqq/
[133] morphing: http://habrahabr.ru/users/morphing/
[134] Vaddddd: http://habrahabr.ru/users/vaddddd/
[135] ancalled: http://habrahabr.ru/users/ancalled/
[136] fasterthanlight: http://habrahabr.ru/users/fasterthanlight/
[137] sinc: http://habrahabr.ru/users/sinc/
[138] Satayev: http://habrahabr.ru/users/satayev/
[139] eversyt: http://habrahabr.ru/users/eversyt/
[140] zyss: http://habrahabr.ru/users/zyss/
[141] smile616: http://habrahabr.ru/users/smile616/
[142] Moress: http://habrahabr.ru/users/moress/
[143] zzzeeerrr0: http://habrahabr.ru/users/zzzeeerrr0/
[144] kilotaras: http://habrahabr.ru/users/kilotaras/
[145] I_AM_FAKE: http://habrahabr.ru/users/i_am_fake/
[146] Aksiom: http://habrahabr.ru/users/aksiom/
[147] WarAngel_alk: http://habrahabr.ru/users/warangel_alk/
[148] skovpen: http://habrahabr.ru/users/skovpen/
[149] safinaskar: http://habrahabr.ru/users/safinaskar/
[150] jit_md: http://habrahabr.ru/users/jit_md/
[151] mrigi: http://habrahabr.ru/users/mrigi/
[152] Tweekaz: http://habrahabr.ru/users/tweekaz/
[153] Thunderbird: http://habrahabr.ru/users/thunderbird/
[154] shock_one: http://habrahabr.ru/users/shock_one/
[155] shy: http://habrahabr.ru/users/shy/
[156] Dgut: http://habrahabr.ru/users/dgut/
[157] ShouldNotSeeMe: http://habrahabr.ru/users/shouldnotseeme/
[158] therussianphysicist: http://habrahabr.ru/users/therussianphysicist/
[159] aamuvirkku: http://habrahabr.ru/users/aamuvirkku/
[160] IntegralUnderground: http://habrahabr.ru/users/integralunderground/
[161] 0leksandr: http://habrahabr.ru/users/0leksandr/
[162] ipoder: http://habrahabr.ru/users/ipoder/
[163] IharBury: http://habrahabr.ru/users/iharbury/
[164] xtern: http://habrahabr.ru/users/xtern/
[165] KycokCo6aku: http://habrahabr.ru/users/kycokco6aku/
[166] gridem: http://habrahabr.ru/users/gridem/
[167] minc2319: http://habrahabr.ru/users/minc2319/
[168] okneigres: http://habrahabr.ru/users/okneigres/
[169] antidotcb: http://habrahabr.ru/users/antidotcb/
[170] merkius: http://habrahabr.ru/users/merkius/
[171] iTwin: http://habrahabr.ru/users/itwin/
[172] bstructure: http://habrahabr.ru/users/bstructure/
[173] fsv: http://habrahabr.ru/users/fsv/
[174] 411: http://habrahabr.ru/users/411/
[175] pleha: http://habrahabr.ru/users/pleha/
[176] staricam: http://habrahabr.ru/users/staricam/
[177] chipa: http://habrahabr.ru/users/chipa/
[178] dosefose: http://habrahabr.ru/users/dosefose/
[179] SergeySib: http://habrahabr.ru/users/sergeysib/
[180] Ptax: http://habrahabr.ru/users/ptax/
[181] можно тут: http://3.14.by/files/compilation_results.zip
[182] Войдите: https://www.pvsm.ru/login/
[183] Источник: http://habrahabr.ru/post/164567/
Нажмите здесь для печати.