-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyramids.cpp
51 lines (46 loc) · 3.61 KB
/
pyramids.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <vector>
#define ll long long
int main() {
std::vector<ll> squares{
1, 9, 25, 49, 81, 121, 169, 225, 289, 361, 441, 529, 625, 729, 841, 961, 1089, 1225, 1369, 1521, 1681, 1849, 2025,
2209, 2401, 2601, 2809, 3025, 3249, 3481, 3721, 3969, 4225, 4489, 4761, 5041, 5329, 5625, 5929, 6241, 6561, 6889,
7225, 7569, 7921, 8281, 8649, 9025, 9409, 9801, 10201, 10609, 11025, 11449, 11881, 12321, 12769, 13225, 13689,
14161, 14641, 15129, 15625, 16129, 16641, 17161, 17689, 18225, 18769, 19321, 19881, 20449, 21025, 21609, 22201,
22801, 23409, 24025, 24649, 25281, 25921, 26569, 27225, 27889, 28561, 29241, 29929, 30625, 31329, 32041, 32761,
33489, 34225, 34969, 35721, 36481, 37249, 38025, 38809, 39601, 40401, 41209, 42025, 42849, 43681, 44521, 45369,
46225, 47089, 47961, 48841, 49729, 50625, 51529, 52441, 53361, 54289, 55225, 56169, 57121, 58081, 59049, 60025,
61009, 62001, 63001, 64009, 65025, 66049, 67081, 68121, 69169, 70225, 71289, 72361, 73441, 74529, 75625, 76729,
77841, 78961, 80089, 81225, 82369, 83521, 84681, 85849, 87025, 88209, 89401, 90601, 91809, 93025, 94249, 95481,
96721, 97969, 99225, 100489, 101761, 103041, 104329, 105625, 106929, 108241, 109561, 110889, 112225, 113569,
114921, 116281, 117649, 119025, 120409, 121801, 123201, 124609, 126025, 127449, 128881, 130321, 131769, 133225,
134689, 136161, 137641, 139129, 140625, 142129, 143641, 145161, 146689, 148225, 149769, 151321, 152881, 154449,
156025, 157609, 159201, 160801, 162409, 164025, 165649, 167281, 168921, 170569, 172225, 173889, 175561, 177241,
178929, 180625, 182329, 184041, 185761, 187489, 189225, 190969, 192721, 194481, 196249, 198025, 199809, 201601,
203401, 205209, 207025, 208849, 210681, 212521, 214369, 216225, 218089, 219961, 221841, 223729, 225625, 227529,
229441, 231361, 233289, 235225, 237169, 239121, 241081, 243049, 245025, 247009, 249001, 251001, 253009, 255025,
257049, 259081, 261121, 263169, 265225, 267289, 269361, 271441, 273529, 275625, 277729, 279841, 281961, 284089,
286225, 288369, 290521, 292681, 294849, 297025, 299209, 301401, 303601, 305809, 308025, 310249, 312481, 314721,
316969, 319225, 321489, 323761, 326041, 328329, 330625, 332929, 335241, 337561, 339889, 342225, 344569, 346921,
349281, 351649, 354025, 356409, 358801, 361201, 363609, 366025, 368449, 370881, 373321, 375769, 378225, 380689,
383161, 385641, 388129, 390625, 393129, 395641, 398161, 400689, 403225, 405769, 408321, 410881, 413449, 416025,
418609, 421201, 423801, 426409, 429025, 431649, 434281, 436921, 439569, 442225, 444889, 447561, 450241, 452929,
455625, 458329, 461041, 463761, 466489, 469225, 471969, 474721, 477481, 480249, 483025, 485809, 488601, 491401,
494209, 497025, 499849, 502681, 505521, 508369, 511225, 514089, 516961, 519841, 522729, 525625, 528529, 531441,
534361, 537289, 540225, 543169, 546121, 549081, 552049, 555025, 558009, 561001, 564001, 567009, 570025, 573049,
576081, 579121, 582169, 585225, 588289, 591361, 594441, 597529, 600625, 603729, 606841, 609961, 613089, 616225,
619369, 622521, 625681, 628849, 632025, 635209, 638401, 641601, 644809, 648025, 651249, 654481, 657721, 660969,
664225, 667489, 670761, 674041, 677329, 680625, 683929, 687241, 690561, 693889, 697225, 700569, 703921, 707281,
710649, 714025, 717409, 720801, 724201, 727609, 731025, 734449, 737881
};
ll available, ans = 0;
std::cin >> available;
for (ll &square: squares) {
if (available - square >= 0) {
available -= square;
ans += 1;
}
}
std::cout << ans << "\n";
return 0;
}