QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#43636#4238. Zero SumjustcylWA 6248ms7744kbC++201.6kb2022-08-09 20:43:082022-08-09 20:43:11

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-08-09 20:43:11]
  • 评测
  • 测评结果:WA
  • 用时:6248ms
  • 内存:7744kb
  • [2022-08-09 20:43:08]
  • 提交

answer

#include <bits/stdc++.h>
#define F(i, x, y) for (int i = x; i <= y; i++)
#define D(i, x, y) for (int i = x; i >= y; i--)
#define pr printf
#define mst(a,b) memset(a,b,sizeof a)
#define SZ(x) ((int)x.size())
#define ll long long
#define x first
#define y second
#define pb emplace_back
#define mp make_pair
#define pii pair<int,int>
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr) 
#define YN(ok) cout << (ok ? "YES" : "NO") << '\n';

#ifdef LOCAL_DEFINE
#include "bits/debug.h"
#else
    #define DEB(...)  
#endif

using namespace std;

void read(){}
template<typename T,typename... T2>inline void read(T &x,T2 &... oth) { x=0;int ch=getchar(),f=0;while(ch<'0'||ch>'9') { if (ch=='-') f=1;ch=getchar();}while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}if(f)x=-x;read(oth...);}

const int N = 35001,M=15000;
const ll inf=1152921504606846976;
ll f[M*2+1],g[M*2+1];
vector<ll> a[N];
int n,m,C;

signed main()
{
#ifdef LOCAL_DEFINE
   freopen("temp.in", "r", stdin);
#endif
    srand(time(0));

    read(n,m);
    F(i,1,n){
        a[i].resize(m+m+2);
        F(j,0,m+m) read(a[i][j]);
    }
    C=M;
    DEB(C);
    // sort(a+1,a+n+1,cmp);
    random_shuffle(a+1,a+n+1);
    F(i,1,n){
        // DEB(a[i]);
    }
    F(i,0,C*2) f[i]=inf;
    f[C]=0;
    
    F(i,1,n){
        F(i,0,C*2) g[i]=inf;
        // DEB(SZ(g));
        F(j,0,m+m){
            F(k,m-j,C*2){
                if(j+k>C*2) break;
                g[j-m+k]=min(g[j-m+k],f[k]+a[i][j]);
                // DEB(g[C]);
            }
        }
        swap(f,g);
    }
    pr("%lld",f[C]);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 3ms
memory: 5048kb

input:

3 1
3 14 15
-3 -5 -35
2 71 82

output:

-19

result:

ok 1 number(s): "-19"

Test #2:

score: 0
Accepted
time: 3ms
memory: 4976kb

input:

5 2
1 2 5 14 42
1 2 3 5 8
1 2 4 8 16
1 2 3 4 5
1 2 6 24 120

output:

16

result:

ok 1 number(s): "16"

Test #3:

score: 0
Accepted
time: 4ms
memory: 4992kb

input:

10 2
-904071845 760493887 -478285804 759035367 -680013382
-587322944 665345507 -20509293 103731947 864888628
738633646 936703855 -370523881 301151360 478433861
703775172 -913389861 691762973 -185132991 543994805
-511007159 118916858 891184 349354959 267412081
-663269925 14450557 369277951 237764429 ...

output:

-6259997315

result:

ok 1 number(s): "-6259997315"

Test #4:

score: 0
Accepted
time: 4ms
memory: 5012kb

input:

10 2
-566639283 -281454349 687175663 817449090 928108928
-819788458 -442586076 -451652406 403601435 -168825683
-649266596 187412594 -856159947 476347172 20574258
-390470703 -791341926 -60895976 842388030 507828204
159048971 -531035734 -110061386 255061473 -622553675
767534638 296274618 318355641 -60...

output:

-5863402983

result:

ok 1 number(s): "-5863402983"

Test #5:

score: 0
Accepted
time: 4563ms
memory: 7164kb

input:

35000 2
-323024395 123746159 618869974 -455533063 294962647
9971372 784839881 -906564905 -578266269 944975915
968956358 -576765224 448197684 986539127 -525297570
-745293354 426913995 129954892 255813154 -243728523
-922616050 -983803120 -317189892 362753890 481320837
-626411581 760532893 481031139 14...

output:

-23326299571078

result:

ok 1 number(s): "-23326299571078"

Test #6:

score: 0
Accepted
time: 6237ms
memory: 7644kb

input:

35000 3
-389986454 -678028773 330282316 582141258 -976039033 415560778 -256794145
891726219 -744524869 671251658 67347457 -91229912 -787543984 364694820
606490044 511500731 766802212 79214055 -745406592 -843185684 -709300461
-806048178 750955329 92731052 -740911920 943335651 -961204999 72788590
5815...

output:

-26267884225753

result:

ok 1 number(s): "-26267884225753"

Test #7:

score: 0
Accepted
time: 6172ms
memory: 7740kb

input:

35000 3
-205476456 82285866 -35594070 0 53353652 -49927864 -111238731
113551347 -133551112 19375782 0 -89200221 121851958 207015309
57966468 -78468406 -89972877 0 -14958562 -153791584 207214716
41705397 -138035132 34758504 0 -91078140 3818342 -281759472
199952820 -173442272 -63649020 0 69365700 -761...

output:

-5671382440154

result:

ok 1 number(s): "-5671382440154"

Test #8:

score: 0
Accepted
time: 6243ms
memory: 7736kb

input:

35000 3
-104465988 -61243572 -85539391 0 7491458 10264978 124155243
-268558005 -154632718 -21620750 0 27153711 122054610 116554080
-37253310 -179203364 -12517155 0 24722702 80407004 66380241
-37560414 -147869008 -55350255 0 21547694 5632026 174871269
-209389992 -184668276 -34948820 0 9415470 8251568...

output:

-6078227814541

result:

ok 1 number(s): "-6078227814541"

Test #9:

score: 0
Accepted
time: 6248ms
memory: 7640kb

input:

35000 3
902444553 382219274 435764110 878892951 655614413 151116197 232298986
213739238 198177043 698942673 772039014 372652389 180586024 6396281
87942969 598386916 -49947342 39272933 968460479 949268130 968282113
738343828 95663007 635955539 -9208067 652112369 431840638 284151628
-58473132 30378755...

output:

-14462236943288

result:

ok 1 number(s): "-14462236943288"

Test #10:

score: 0
Accepted
time: 6211ms
memory: 7744kb

input:

35000 3
113961247 593708547 248864537 180118601 925518310 15254920 577036150
279961671 63364217 713049091 937580207 329002834 77859362 357285128
881748603 693652749 303956346 894180781 819899770 372981112 353387093
365389658 535559085 447104136 272739305 115939848 179347884 709464863
-99411860 39686...

output:

-636458673506

result:

ok 1 number(s): "-636458673506"

Test #11:

score: -100
Wrong Answer
time: 6143ms
memory: 7704kb

input:

35000 3
671257145 87472903 647195116 960778581 327005775 269169516 123922983
284052436 853466191 395187549 872459399 961583162 671293207 31377460
162077596 758965589 964095767 356305312 941818506 841868937 18061159
929743495 443985166 961520354 537431927 982805255 484995037 848027892
352415069 16624...

output:

709651081837

result:

wrong answer 1st numbers differ - expected: '2382205891728', found: '709651081837'