ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#187391 | #3348. 三角形 | stonesx | 100 | 585ms | 1192kb | C++11 | 673b | 2023-10-02 09:13:26 | 2023-10-02 12:02:38 |
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD = 998244353;
ll n, lsum, usum;
int T, k, lower, upper;
ll calc(ll last, ll k)
{
ll first = last - k + 1;
ll sum = ((first % MOD + last % MOD) * (k % MOD)) % MOD;
return sum & 1 ? (sum + MOD >> 1) % MOD : sum >> 1;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif
scanf("%d", &T);
while (T--)
{
scanf("%lld%d", &n, &k);
upper = k >> 1, lower = k - upper;
lsum = calc(n * (n + 1) >> 1, lower);
usum = calc(n * (n - 1) >> 1, upper);
printf("%lld\n", (lsum + usum) % MOD);
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 5
Accepted
time: 25ms
memory: 1188kb
input:
100000 89 166 441 375 476 304 827 1204 611 280 275 237 411 682 873 1091 785 799 437 781 169 38 743 5...
output:
650637 36430439 34416600 411363456 52245480 8947776 57486121 415444781 246023079 74421513 542317 146...
result:
ok 100000 lines
Test #2:
score: 5
Accepted
time: 23ms
memory: 1192kb
input:
100000 845 629 494 334 468 222 327 9 321 552 687 1048 301 210 660 1039 370 367 309 413 366 244 601 1...
output:
224462689 40726290 24299454 481328 28363416 247037704 9502185 226025169 25087846 19674545 16327870 1...
result:
ok 100000 lines
Test #3:
score: 5
Accepted
time: 23ms
memory: 1192kb
input:
100000 833 299 144 62 351 452 581 181 431 576 616 269 181 40 249 162 992 495 601 676 905 1792 481 26...
output:
103714621 641886 27792576 30541461 53416512 51019184 654840 5015601 243495327 121972032 733044480 30...
result:
ok 100000 lines
Test #4:
score: 5
Accepted
time: 24ms
memory: 1188kb
input:
100000 745 755 645 559 41 44 175 347 851 1242 956 1716 409 419 776 1433 677 1060 284 438 77 78 327 2...
output:
209380181 116201469 36520 5283596 449343801 783421782 35001893 430946836 242634000 17615922 229749 1...
result:
ok 100000 lines
Test #5:
score: 5
Accepted
time: 25ms
memory: 1192kb
input:
100000 503 769 425 343 518 929 545 514 807 4 808 155 921 902 645 641 594 1098 113 80 81 78 521 946 8...
output:
97134756 30948159 124421461 76269633 1302496 50591435 382353741 133233935 193406112 509200 254397 12...
result:
ok 100000 lines
Test #6:
score: 5
Accepted
time: 27ms
memory: 1192kb
input:
100000 467 502 854 1171 201 380 993 1486 37 69 632 1182 410 784 401 370 585 18 486 678 15 26 376 425...
output:
54677589 426672720 7640280 732083101 46093 235710894 65741928 29714145 3079953 79955862 2769 2999764...
result:
ok 100000 lines
Test #7:
score: 5
Accepted
time: 32ms
memory: 1188kb
input:
100000 601961 673582 75139 143625 471645 753991 871374 14321 113773 37632 90643 5162 475254 93434 25...
output:
597790038 891473235 368494766 45291804 865695213 180602110 578951638 888455728 964045278 729130597 8...
result:
ok 100000 lines
Test #8:
score: 5
Accepted
time: 29ms
memory: 1192kb
input:
100000 543783 894939 277681 2554 547101 257927 290705 556876 644267 589714 189473 188735 187152 1569...
output:
672519262 476000131 648857306 954861195 16356940 234477823 963200017 477140476 25871145 464498449 18...
result:
ok 100000 lines
Test #9:
score: 5
Accepted
time: 30ms
memory: 1188kb
input:
100000 851773 1270298 586811 650788 636793 305068 882703 378027 496853 979141 310290 360212 669561 5...
output:
859713793 948208323 544828267 206154145 92537631 797787173 331062808 235770009 292600790 126912978 7...
result:
ok 100000 lines
Test #10:
score: 5
Accepted
time: 27ms
memory: 1188kb
input:
100000 162617 142303 236467 207934 945721 1363939 109101 49212 368225 46159 513921 153574 677633 111...
output:
882542429 78712194 662629411 413312976 488607627 962046953 313584608 442779335 158135046 970076218 8...
result:
ok 100000 lines
Test #11:
score: 5
Accepted
time: 22ms
memory: 1188kb
input:
100000 995685 1406564 850649 950717 175459 148907 443305 725266 179949 338845 581646 243078 781157 1...
output:
599105178 197119548 746353934 92487734 821115119 642491259 908517968 696942370 421490200 381753068 6...
result:
ok 100000 lines
Test #12:
score: 5
Accepted
time: 28ms
memory: 1192kb
input:
100000 573994 893742 178843 179004 730201 873680 981944 230224 85235 77162 763141 975798 105105 1568...
output:
368883296 951531253 477751274 442365459 632206699 524267943 905167892 71082282 851279694 684133190 2...
result:
ok 100000 lines
Test #13:
score: 5
Accepted
time: 34ms
memory: 1188kb
input:
100000 2009809 266677 395866901 340815641 514801 821642 108251389 119464487 220583035 114307171 2389...
output:
814983083 79198508 609118429 605042899 665534534 921376446 956511973 795383875 894638301 258360166 6...
result:
ok 100000 lines
Test #14:
score: 5
Accepted
time: 35ms
memory: 1188kb
input:
100000 1246300 1456942 138283601 177040564 30180601 2712206 86605786 52103991 30001641 58277856 2152...
output:
531772451 859403240 470971890 60633799 657282218 514928831 438266462 731300122 43581890 317115683 39...
result:
ok 100000 lines
Test #15:
score: 5
Accepted
time: 43ms
memory: 1192kb
input:
100000 457852177 760091270 91407751 146603016 91545751 23734792 368731021 538793612 772240015 832972...
output:
167148338 483824005 900535372 287926010 771210394 605197932 213812076 80943491 192109138 585679723 9...
result:
ok 100000 lines
Test #16:
score: 5
Accepted
time: 35ms
memory: 1188kb
input:
100000 251719557 81358081 414403421 31621201 780414361 533723105 167114137 133562881 135610284 16657...
output:
900361723 734429824 159959425 202856007 465174289 324266409 935316449 169239828 596306619 485935622 ...
result:
ok 100000 lines
Test #17:
score: 5
Accepted
time: 31ms
memory: 1192kb
input:
100000 240540559 71092305 36119591 17629267 782840000 705383017 97162465 91793944 45398540 54805606 ...
output:
179309721 674900735 348263612 47091406 973351445 108994441 471831745 864827869 172658503 873011701 8...
result:
ok 100000 lines
Test #18:
score: 5
Accepted
time: 32ms
memory: 1192kb
input:
100000 20616806 30061824 423396513 81689133 52619584 35649010 689113951 99239986 118598140 184079153...
output:
351370536 303624150 835249469 538532477 405824062 12451716 267688161 70526293 51822007 535793535 748...
result:
ok 100000 lines
Test #19:
score: 5
Accepted
time: 27ms
memory: 1188kb
input:
100000 123528861 110640937 569279621 11449153 368995537 103770926 10855153 21449406 440506869 290009...
output:
73793847 200612577 180530131 123298175 33629745 921758833 457262765 167689985 77412340 316680560 258...
result:
ok 100000 lines
Test #20:
score: 5
Accepted
time: 33ms
memory: 1192kb
input:
100000 142024088 54281158 484927297 150799809 705181491 79379 237015637 118836710 22106789 14444198 ...
output:
757252018 175072338 242936630 590008114 252802776 348426456 740521082 704133182 601104935 92284722 8...
result:
ok 100000 lines