QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#84997 | #5453. Mana Collection | Acestar | 75 | 384ms | 167212kb | C++14 | 1.8kb | 2023-03-06 21:36:38 | 2023-03-06 21:36:51 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 18;
const int M = 1 << 18;
const int lim = 1e9;
int n, m, q, a[N];
ll g[N][N], f[M][N], h[M];
struct seg
{
ll k, b;
seg(ll _k = 0, ll _b = 0) {k = _k, b = _b;}
ll F(ll x) {return k * x + b;}
};
int cnt, rt[N], ls[M * 30], rs[M * 30];
seg t[M * 30];
void ins(int &rt, int l, int r, seg s)
{
if(!rt) rt = ++cnt;
int mid = (l + r) >> 1;
if(t[rt].F(mid) < s.F(mid)) swap(t[rt], s);
if(l == r) return;
if(t[rt].F(l) < s.F(l)) ins(ls[rt], l, mid, s);
if(t[rt].F(r) < s.F(r)) ins(rs[rt], mid + 1, r, s);
return;
}
ll qry(int rt, int l, int r, ll x)
{
ll res = t[rt].F(x);
if(l == r) return res;
int mid = (l + r) >> 1;
if(x <= mid) res = max(res, qry(ls[rt], l, mid, x));
else res = max(res, qry(rs[rt], mid + 1, r, x));
return res;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
cin >> n >> m;
for(int i = 0; i < n; i++) cin >> a[i];
memset(g, 0x3f, sizeof(g));
for(int i = 1, u, v, w; i <= m; i++)
cin >> u >> v >> w, g[u - 1][v - 1] = w;
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
g[i][j] = min(g[i][j], g[i][k] + g[k][j]);
for(int S = 1; S < (1 << n); S++)
h[S] = h[S ^ (S & -S)] + a[__lg(S & -S)];
memset(f, 0x3f, sizeof(f));
for(int i = 0; i < n; i++) f[1 << i][i] = 0;
for(int S = 1; S < (1 << n); S++)
for(int i = 0; i < n; i++) if(S >> i & 1)
for(int j = 0; j < n; j++) if(!(S >> j & 1))
f[S | (1 << j)][j] = min(f[S | (1 << j)][j], f[S][i] + g[i][j] * h[S]);
for(int i = 0; i < n; i++)
for(int S = 0; S < (1 << n); S++)
ins(rt[i], 1, lim, seg(h[S], -f[S][i]));
cin >> q;
while(q--)
{
int x, y; cin >> x >> y;
cout << qry(rt[y - 1], 1, lim, x) << '\n';
}
return 0;
}
詳細信息
Test #1:
score: 4.16667
Accepted
time: 19ms
memory: 163052kb
input:
2 1 1 10 1 2 10 4 5 1 5 2 100 1 100 2
output:
5 50 100 1090
result:
ok 4 number(s): "5 50 100 1090"
Test #2:
score: 4.16667
Accepted
time: 33ms
memory: 163064kb
input:
4 8 50000000 100000000 20000000 70000000 1 2 20 2 1 50 2 3 90 1 3 40 3 1 10 4 1 25 1 4 5 4 3 70 3 8 3 1000000000 1 500000 4
output:
160000000 239999988050000000 119992550000000
result:
ok 3 number(s): "160000000 239999988050000000 119992550000000"
Test #3:
score: 4.16667
Accepted
time: 22ms
memory: 163272kb
input:
10 90 95677166 99413032 90081107 97391055 96848266 92520734 90623124 96509760 95451402 99152599 1 10 94105173 3 9 91922842 5 2 90862613 8 3 94419460 4 7 90084016 6 4 90693719 10 8 97125103 2 1 93286961 5 10 91546334 4 8 92053784 8 5 96537357 3 1 95913083 1 3 95054163 2 8 95986698 7 6 95233705 8 10 9...
output:
11703326493772984 459620067337423078 200595475148225200 241323875941097385 130998797142629089 58036161281343977 49150655193660868 32449982221768127 380110796421808388 75281539229382960 182007444762360597 32030806118183241 55010947825979442 361567236091527343 112547547611623245 8457348883376196 30891...
result:
ok 100 numbers
Test #4:
score: 4.16667
Accepted
time: 4ms
memory: 163056kb
input:
10 90 48104151 45958764 10384927 58976477 4508220 48401738 63414134 56241331 43456656 5364282 4 3 34321182 3 8 6111111 10 3 89336838 7 6 15869517 9 6 45416322 6 8 65416493 8 7 68165563 1 10 17098910 5 7 23144280 10 5 41059929 4 5 83655589 8 2 11141593 10 4 47789741 6 4 15702833 6 5 3119771 9 5 79973...
output:
3586313126541447 35983483565665061 4586294248391907 7875951425417254 2259511646032271 9467158922809115 281310401340040631 17521136298708657 62633383479101386 43456656 3514032245442476 374184651748191311 1253158266813619 655602386983086 32349923263050901 772476708605571 49695253783447186 477512507283...
result:
ok 100 numbers
Test #5:
score: 4.16667
Accepted
time: 97ms
memory: 163112kb
input:
10 87 61275784 16282886 58999609 52155395 53012427 89533414 15431931 35150033 58505854 59445220 9 5 3496028 7 6 17372183 8 1 287847 2 7 19991219 4 5 40820118 4 9 38405375 1 4 52061958 1 3 95765844 9 7 88432897 10 3 62181295 2 4 2070594 6 8 38490628 5 1 74834920 5 2 58054124 5 10 53052912 9 10 799932...
output:
18729278111132298 20776419606475196 8916464253930178 19403717774195936 89156978276985 4658727223980276 8425816213276232 148783617369660 309113940077051823 178911980768416 35871044095338425 9008767024716944 20959051195083681 14730768570927101 3896744071968879 20368652336719223 3286310614587202 560557...
result:
ok 200000 numbers
Test #6:
score: 4.16667
Accepted
time: 104ms
memory: 163092kb
input:
10 90 95356560 91592390 93197917 98740065 97680300 92412698 94329246 97243226 90272368 97469569 10 6 99745186 9 3 93877572 4 3 95758698 6 10 91855996 5 1 90121278 5 4 95076290 8 2 99231614 10 3 93399573 4 1 91994993 6 5 94052740 5 2 96068955 2 10 91338395 7 10 91890588 4 7 94880828 1 6 96554961 7 5 ...
output:
163280051600495389 162664925126674128 315043052511946112 34383595644987775 95021580028366165 73642582707231188 1430138781796740 52457131744292841 369797341610245871 22870714303175080 26120943421423426 515435644424449526 24566699865258280 225151095501232691 94961386593212307 242789175852236009 275858...
result:
ok 200000 numbers
Test #7:
score: 4.16667
Accepted
time: 99ms
memory: 163104kb
input:
10 89 93795458 90122950 90809309 91512557 99759510 98879743 90406791 91988172 98723686 97265654 3 1 92410620 6 10 787488884 1 7 872243221 5 10 93057933 8 3 90945371 7 4 94869387 1 4 90377187 9 1 92060643 10 8 98532700 9 5 97326866 10 2 98947943 1 6 96415500 10 4 92676865 8 7 92985312 9 6 98444476 1 ...
output:
96011873276486328 19269273838332822 27750185251110899 54768622608712929 63364496816469500 200902549670696724 283398177307668282 136734129505223180 73792577897925688 487594284918169540 96644051419753488 8371064148979270 390528097450315500 423307921353158240 224704322981435238 86859856029482940 400522...
result:
ok 200000 numbers
Test #8:
score: 4.16667
Accepted
time: 103ms
memory: 163264kb
input:
10 89 1382293 67193843 93859961 477481 92652257 99885499 50256117 70192761 34119368 16710544 9 10 42167550 5 8 37587488 6 1 39681485 2 6 83885591 2 8 63502599 2 7 96584704 3 2 28849619 1 2 89615158 7 6 49082361 6 7 6114228 6 10 45456432 7 4 87603741 1 8 8377024 5 9 3400067 10 4 42824742 8 1 34659500...
output:
5212184985750879 44473794879167166 34847750171225010 6648241404960350 46013805737436434 90621756903489777 24876175963893522 773327365881191 25315961193668520 33452321319032245 35012500150605 614133199184668 17890608035163296 1380181878519397 1818424411309 4198814378075319 34119368 778135476720094 61...
result:
ok 200000 numbers
Test #9:
score: 4.16667
Accepted
time: 107ms
memory: 163136kb
input:
10 90 97766575 91352441 94775266 90513638 95828190 90356289 90495007 98680228 93010243 98543991 1 3 99109059 5 8 90074960 6 5 90055463 6 1 90819495 8 9 98346448 8 5 90223065 10 9 92780029 3 6 90250424 9 1 96050114 7 3 90956675 4 2 92037130 4 7 90691071 2 3 91565269 8 3 94131990 2 9 97006947 4 10 942...
output:
8773129927176957 176141491594572157 20293571075207245 61165421628826386 176141491594572157 64702906594466207 10883085082295958 192381701219834262 160965364182552191 6191082227085588 182873747067038925 74453900672532962 26275490371094290 124345823804949568 156275640151508025 45662821795014946 3810737...
result:
ok 200000 numbers
Test #10:
score: 4.16667
Accepted
time: 327ms
memory: 165280kb
input:
18 306 97592575 5845225 97094410 61652068 60514373 77053365 82408570 65859870 52309184 11075991 79663473 60429988 64440299 88087418 51883591 39638284 31941363 95790465 18 7 12121248 13 6 28252098 14 12 2481192 4 16 54868108 13 15 33001477 7 13 15911113 8 16 47075458 7 14 51352052 9 2 41100503 18 10 ...
output:
56264701460108257 1285984741468061 28518441564936556 1800078869044666 4233481902785058 18706110257567563 30876640052688400 7267895070590806 10680057213053941 17127903266197333 2811860893998047 35488877575172 564949791756315 35957867675947221 41272735966749124 38034542611577910 6773365701249848 35058...
result:
ok 100 numbers
Test #11:
score: 4.16667
Accepted
time: 352ms
memory: 165176kb
input:
18 306 54786856 23623482 37443275 34976477 27052191 21997277 93803298 62986079 72289998 36640646 66962609 75940630 20835955 36012773 32492294 69398349 49378951 13097897 7 10 5470000 8 7 53513890 3 15 38460382 7 16 19142503 5 14 45517218 18 17 42648313 8 18 48305235 4 16 41424027 5 12 52928903 5 4 44...
output:
16448924998323876 42499474160686929 80574179252365 29157184483740236 16111099859788138 26806493509397013 635257428086302 15906843920014306 1373694291185245 94482938604350 3323915340886396 34889365088369059 2063668366808288 5048756142935801 18314067121808156 39647987073444380 3577563486313359 1358925...
result:
ok 100 numbers
Test #12:
score: 4.16667
Accepted
time: 337ms
memory: 165180kb
input:
18 303 87437585 22204459 77335222 63373455 24384957 40111770 61538701 65736765 65450807 20008686 60461910 77184085 62951808 75441264 35010255 67513271 41855413 84760939 6 14 45984925 3 6 5610402 8 1 49203830 8 3 53792394 10 8 11629718 1 12 20708032 4 6 14035635 15 18 487975772 3 1 28292662 3 10 2399...
output:
1107904896715516 35056398301693748 9986152964638026 669207273505472435 5651326357638735 5923947474867054 6006244984395488 5893622634689728 9167400465063286 929571390607270268 6645996738166032 8813151760235299 7486719664563380 33431077987813977 221430127060560 5099825435457937 43533336738286496 33171...
result:
ok 100 numbers
Test #13:
score: 4.16667
Accepted
time: 274ms
memory: 165080kb
input:
18 300 95399651 98514702 95906995 99120696 97373712 99841892 95487998 98629037 97207398 99163728 97816361 94919203 95202846 96133518 98849047 99498436 94447669 96164861 10 8 54922237 1 2 55368382 10 4 54029624 9 8 55267410 14 2 53427574 14 18 54579322 3 9 54230956 2 9 52630731 4 16 53837522 3 7 8372...
output:
109547258785001075 83350392507237245 544434800180318736 298383274553068390 103234166632913633 383015478740918408 299473251086849137 147705986455265326 540689651571797040 8303366263580477 622101421737057767 108062600084748952 5862718675123499 227582957640405426 541938177729836001 261012936477036136 3...
result:
ok 100 numbers
Test #14:
score: 4.16667
Accepted
time: 293ms
memory: 165244kb
input:
18 306 94983318 99500146 99056770 99199070 96785433 94689368 96603811 97464542 96757856 95575432 97758260 96271537 94822391 98897205 96531324 95046283 95759027 99689250 14 18 54518764 3 8 54402270 16 8 52601874 3 11 52679529 13 6 54902169 1 10 54363631 4 2 55268135 5 6 52963284 16 1 52494958 12 11 5...
output:
233314656911878890 148725505069721343 131310080408400633 28458149514921786 184841206840838732 86735083994860733 175416255503474613 237843791774471191 107742929277437744 23591406414552202 469643401365794803 16670250600078085 484799960685015637 364831976733288305 11225888146367896 313593053497442131 7...
result:
ok 100 numbers
Test #15:
score: 4.16667
Accepted
time: 266ms
memory: 167212kb
input:
16 240 47666600 44327219 49953274 41785108 32073587 24424080 30939819 78762914 90224099 59998405 64133109 48652631 22221281 96356764 38490560 116991 1 2 91993819 1 3 97619874 1 4 89451708 1 5 79740187 1 6 94041352 1 7 78606419 1 8 126429514 1 9 137890699 1 10 107665005 1 11 111799709 1 12 96319231 1...
output:
212540929497153000 67107116385111426 160830745949979663 58791727813832608 95764761271748279 175339139652863002 239297214240271800 264345302513412638 25916559560778064 108527092089074230 229728402202110570 171112061109054276 127390525466717280 102215300925877906 110949777479288000 8928107215433348 19...
result:
ok 200000 numbers
Test #16:
score: 4.16667
Accepted
time: 179ms
memory: 163624kb
input:
16 240 42361838 31647618 32114308 8782634 17345648 68132951 88405030 26942819 62741100 66985295 20876520 8437021 27114112 66925976 7183979 94977427 2 15 58174648 8 15 34276605 6 10 58212397 2 13 58804593 13 9 54225029 15 14 33719184 11 13 61087050 9 10 28955627 6 2 10289499 10 2 20518981 13 8 837959...
output:
493210283393155328 16457452249109400 1426565785333764 2186989187576924 1597997186417782 6058437774768861 7637930712967180 1125270540734250 101052132975905 5643199813537305 10005312013478447 15342932020091027 5252313629194265 173253576572124 16729167032258496 16381630855383736 13698134026929013 13877...
result:
ok 200000 numbers
Test #17:
score: 4.16667
Accepted
time: 157ms
memory: 163624kb
input:
16 240 94916675 95328982 94461789 98179130 96410042 95984504 99026406 96722757 98043813 97126519 99521857 99735210 99833885 94048501 93989630 97045699 5 6 61339353 7 11 61447467 16 7 59391553 15 5 61958471 13 2 59603541 13 16 60250166 2 3 61615858 16 3 60312774 14 6 61619256 9 2 61767236 7 12 608785...
output:
690101190008603503 74352044407892892 80895006856543381 46607187491961160 83939049336012157 135104537707913810 18824878173270988 257485548823102507 425301267931667908 6964456929444357 461660068784781426 207874892303542251 369348578117789991 608120982890351661 93344953395804303 675401823119133989 8172...
result:
ok 200000 numbers
Test #18:
score: 4.16667
Accepted
time: 213ms
memory: 164292kb
input:
17 269 10989016 28905152 56011456 36383994 32588074 40160206 81943847 29653018 81874689 11531228 28812650 79088847 31042740 89163087 58731031 57356809 5076315 2 4 54972232 1 17 48426734 17 8 7126979 7 2 16376090 10 7 30672058 8 17 55225752 2 6 312152706 4 12 1609956 11 10 44726737 7 6 16333848 17 9 ...
output:
5581509823816012 337248242249304 5660810051537019 239346907640205 7137231109097837 2932413424272456 2147112311279378 2050105075588474 7700720612480128 56134633472252418 4898570036223204 19143181815951646 34279114026302365 54808409846460 65065689951230 55986200355020672 343192271607496 2850473436688 ...
result:
ok 200000 numbers
Test #19:
score: 0
Wrong Answer
time: 285ms
memory: 165436kb
input:
17 241 20878633 21727433 30788417 1919362 24415556 26527489 14285320 3437901 23517959 28616698 11361867 15220890 21496568 20470194 31073215 5981317 11566475 1 2 42606066 1 3 98682648 1 4 22797995 1 5 45294189 1 6 47406122 1 7 35163953 1 8 24316534 1 9 44396592 1 10 49495331 1 11 32240500 1 12 360995...
output:
9217813235778092146 9160651220005105700 9123391619610735575 9169677635551382448 9188443357225999448 9217243282555595809 9136089049786483022 9219248780891799973 9198252254051035736 9191923812164248109 9222037265971523793 9114481121985398133 9197003117211989905 9123073806778467785 9221859982541192130 ...
result:
wrong answer 1st numbers differ - expected: '108874984881706836', found: '9217813235778092146'
Test #20:
score: 0
Wrong Answer
time: 211ms
memory: 164608kb
input:
17 241 26896510 11416857 23632920 22663714 10426416 1449988 6534437 21431904 6332558 5350871 7478640 7144884 1667707 31989074 24328111 14606283 16379885 1 2 38313367 1 3 50529430 1 4 89019020 1 5 37322926 1 6 28346498 1 7 33430947 1 8 48328414 1 9 33229068 1 10 32247381 1 11 48235649 1 12 34041394 1...
output:
9156248228843282745 9169123617081079985 9202972323005209059 9194638936604176610 9193661054901493292 9154306676633910406 9128925464473430466 9141475709022732249 9111556224149943884 9197286709856803386 9219505075280669024 9212351664997891736 9212569174645186318 9214415284330712867 9217636015279410216 ...
result:
wrong answer 1st numbers differ - expected: '32779028068219037', found: '9156248228843282745'
Test #21:
score: 0
Wrong Answer
time: 365ms
memory: 165192kb
input:
18 273 5856998 26869251 1761061 23339731 6696975 12073312 26103914 9146585 14284107 2290011 33149581 6690606 1938529 2611081 4180578 15507572 12766646 8196720 1 2 32726249 1 3 7618059 1 4 29196729 1 5 12553973 1 6 17930310 1 7 31960912 1 8 15003583 1 9 20141105 1 10 8147009 1 12 12547604 1 13 779552...
output:
9183816079176940282 9130104083856965118 9216972673279698202 9162187810786150854 9120165033774950294 9217250174254310741 9114542590420566355 9166963732209227339 9209780051489293999 9222718068515746688 9208302201007032403 9128204606824041528 9220990480316972959 9215030850080607395 9216505500143903384 ...
result:
wrong answer 1st numbers differ - expected: '59668433821480730', found: '9183816079176940282'
Test #22:
score: 0
Wrong Answer
time: 384ms
memory: 165208kb
input:
18 273 18655021 10530209 4072104 27397860 1799797 31844906 10224838 22363503 8387103 25160565 867464 18587455 28492008 3583506 7250222 12947265 13542506 15353338 1 2 29185230 1 3 22727125 1 4 46052881 1 5 20454818 1 6 50499927 1 8 41018524 1 9 44747129 1 10 43815586 1 11 28438355 1 12 37242476 1 13 ...
output:
9221175771531691422 9213541411573819561 9206390693333301037 9180501797920818592 9139960604501789218 9212947950198740313 9121713788535685817 9168256355522870385 9200454389055187756 9111743653704983801 9130839555572204233 9120267308287380877 9156415915704239735 9127547112515040340 9173136998529602491 ...
result:
wrong answer 1st numbers differ - expected: '191914217942017249', found: '9221175771531691422'
Test #23:
score: 0
Wrong Answer
time: 354ms
memory: 165348kb
input:
18 273 18425031 23650394 24880771 20922906 26575943 17784399 1257646 4304768 2028569 32225860 3162758 23575563 21688821 6218252 30502483 720206 33244851 27314277 1 2 43683269 1 3 61643789 1 4 75113213 1 5 58792271 1 6 52052510 1 7 28904939 1 8 22817172 1 9 26122275 1 11 24226530 1 12 77523542 1 13 6...
output:
9112020511192911733 9191267752297745888 9162027941862028937 9148583986984035307 9223190733597358769 9222909097517412977 9146773259013975436 9217423483804372672 9113437859106638102 9184773760269528739 9216486071513704704 9215548142004438023 9119634563814595438 9124522936952012222 9118047991375029396 ...
result:
wrong answer 1st numbers differ - expected: '1138546366805558', found: '9112020511192911733'
Test #24:
score: 0
Wrong Answer
time: 375ms
memory: 165332kb
input:
18 273 26613501 27441209 12794702 13658897 32546072 2607103 21792275 12508707 8092259 2836952 26658654 15275240 16574454 31623641 1150608 21764569 30050392 12599166 1 2 54054710 1 3 39408203 1 4 40272398 1 5 59159573 1 6 29220604 1 7 48405776 1 9 34705760 1 10 29450453 1 11 53272155 1 12 41888741 1 ...
output:
9117336247377637355 9170683178672408837 9115426300044448991 9118025570480005022 9114792770547511630 9211991772614158922 9188314963344232883 9219133452413010024 9207911697811986785 9207048035589477522 9202936294781290949 9223165086147137087 9221589632619167054 9155518370705243399 9212591833053358991 ...
result:
wrong answer 1st numbers differ - expected: '2709709040134800', found: '9117336247377637355'