Submission #3008875
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef signed long long ll; #undef _P #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x<(to);x++) #define FORR(x,arr) for(auto& x:arr) #define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++) #define ALL(a) (a.begin()),(a.end()) #define ZERO(a) memset(a,0,sizeof(a)) #define MINUS(a) memset(a,0xff,sizeof(a)) //------------------------------------------------------- int H,W; vector<ll> A[2020]; ll G[2020],T[2020]; void dodo(vector<ll>& V) { int i; for(i=1;i<V.size();i++) V[i]+=V[i-1]; } ll hoge(vector<ll> A,vector<ll> B,bool eq_ok) { if(A[0]<B[0]) { cout<<-1<<endl; exit(0); } if(A[0]>B[0]) return 0; ll t=(B[1]-A[1]+A[0]-1)/A[0]; if(A[0]*t+A[1]>B[1]) return t; int mapos=B.size(); ll ov=1LL<<30; int i,x,y; FOR(i,t) { if(mapos==2) { A[1]+=A[0]*(t-i); break; } for(x=1;x<mapos;x++) { A[x]+=A[x-1]; if(A[x]>=ov) { mapos=x; break; } } } if(eq_ok && A>=B) return t; if(!eq_ok && A>B) return t; return t+1; } void solve() { int i,j,k,l,r,x,y; string s; cin>>H>>W; FOR(y,H) FOR(x,W) cin>>i, A[y].push_back(i); if(W==1) { FOR(y,H-1) if(A[y][0]>=A[y+1][0]) return _P("-1\n"); return _P("0\n"); } FOR(y,H-1) { if(A[y][0]>A[y+1][0]) return _P("-1\n"); if(A[y][0]<A[y+1][0]) { G[y+1]=-1LL<<30; continue; } if(A[y]<A[y+1]) { G[y+1]=-hoge(A[y],A[y+1],true)+1; } else { G[y+1]=hoge(A[y+1],A[y],false); } } ll ret=0; for(i=1;i<H;i++) { T[i]=max(0LL,T[i-1]+G[i]); ret+=T[i]; } cout<<ret<<endl; } int main(int argc,char** argv){ string s;int i; if(argc==1) ios::sync_with_stdio(false), cin.tie(0); FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin); cout.tie(0); solve(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Takahashi the Magician |
User | kmjp |
Language | C++14 (GCC 5.4.1) |
Score | 1200 |
Code Size | 1902 Byte |
Status | AC |
Exec Time | 107 ms |
Memory | 8320 KB |
Judge Result
Set Name | Sample | subtask1 | subtask2 | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | 800 / 800 | 200 / 200 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt, sample_3.txt |
subtask1 | sample_1.txt, sample_3.txt, hack_1.txt, hack_2.txt, hack_3.txt, hack_4.txt, hack_5.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_2.txt, subtask_1_20.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
subtask2 | sample_1.txt, sample_2.txt, sample_3.txt, hack_1.txt, hack_2.txt, hack_3.txt, hack_4.txt, hack_5.txt, subtask_2_1.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_2.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt |
All | sample_1.txt, sample_2.txt, sample_3.txt, hack_1.txt, hack_2.txt, hack_3.txt, hack_4.txt, hack_5.txt, sample_1.txt, sample_2.txt, sample_3.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_2.txt, subtask_1_20.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_2.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_10.txt, subtask_3_11.txt, subtask_3_12.txt, subtask_3_13.txt, subtask_3_14.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
hack_1.txt | AC | 1 ms | 256 KB |
hack_2.txt | AC | 1 ms | 256 KB |
hack_3.txt | AC | 1 ms | 256 KB |
hack_4.txt | AC | 1 ms | 256 KB |
hack_5.txt | AC | 1 ms | 256 KB |
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
sample_3.txt | AC | 1 ms | 256 KB |
subtask_1_1.txt | AC | 1 ms | 384 KB |
subtask_1_10.txt | AC | 1 ms | 256 KB |
subtask_1_11.txt | AC | 99 ms | 8320 KB |
subtask_1_12.txt | AC | 1 ms | 384 KB |
subtask_1_13.txt | AC | 2 ms | 384 KB |
subtask_1_14.txt | AC | 1 ms | 256 KB |
subtask_1_15.txt | AC | 102 ms | 8320 KB |
subtask_1_16.txt | AC | 105 ms | 8320 KB |
subtask_1_17.txt | AC | 105 ms | 8320 KB |
subtask_1_18.txt | AC | 103 ms | 8320 KB |
subtask_1_19.txt | AC | 1 ms | 256 KB |
subtask_1_2.txt | AC | 1 ms | 256 KB |
subtask_1_20.txt | AC | 1 ms | 384 KB |
subtask_1_3.txt | AC | 1 ms | 384 KB |
subtask_1_4.txt | AC | 1 ms | 384 KB |
subtask_1_5.txt | AC | 2 ms | 384 KB |
subtask_1_6.txt | AC | 2 ms | 384 KB |
subtask_1_7.txt | AC | 2 ms | 384 KB |
subtask_1_8.txt | AC | 100 ms | 8320 KB |
subtask_1_9.txt | AC | 36 ms | 4352 KB |
subtask_2_1.txt | AC | 8 ms | 1408 KB |
subtask_2_10.txt | AC | 13 ms | 2048 KB |
subtask_2_11.txt | AC | 70 ms | 8320 KB |
subtask_2_12.txt | AC | 71 ms | 8320 KB |
subtask_2_13.txt | AC | 68 ms | 8320 KB |
subtask_2_14.txt | AC | 70 ms | 8320 KB |
subtask_2_15.txt | AC | 1 ms | 384 KB |
subtask_2_16.txt | AC | 68 ms | 8320 KB |
subtask_2_17.txt | AC | 68 ms | 8320 KB |
subtask_2_18.txt | AC | 77 ms | 8320 KB |
subtask_2_19.txt | AC | 1 ms | 384 KB |
subtask_2_2.txt | AC | 64 ms | 8320 KB |
subtask_2_20.txt | AC | 1 ms | 384 KB |
subtask_2_21.txt | AC | 1 ms | 384 KB |
subtask_2_22.txt | AC | 1 ms | 384 KB |
subtask_2_23.txt | AC | 1 ms | 384 KB |
subtask_2_24.txt | AC | 1 ms | 384 KB |
subtask_2_25.txt | AC | 1 ms | 384 KB |
subtask_2_26.txt | AC | 1 ms | 384 KB |
subtask_2_27.txt | AC | 1 ms | 384 KB |
subtask_2_3.txt | AC | 64 ms | 8320 KB |
subtask_2_4.txt | AC | 33 ms | 4352 KB |
subtask_2_5.txt | AC | 71 ms | 8320 KB |
subtask_2_6.txt | AC | 72 ms | 8320 KB |
subtask_2_7.txt | AC | 26 ms | 3584 KB |
subtask_2_8.txt | AC | 5 ms | 768 KB |
subtask_2_9.txt | AC | 17 ms | 3712 KB |
subtask_3_1.txt | AC | 2 ms | 384 KB |
subtask_3_10.txt | AC | 106 ms | 8320 KB |
subtask_3_11.txt | AC | 105 ms | 8320 KB |
subtask_3_12.txt | AC | 105 ms | 8320 KB |
subtask_3_13.txt | AC | 1 ms | 384 KB |
subtask_3_14.txt | AC | 1 ms | 384 KB |
subtask_3_2.txt | AC | 2 ms | 384 KB |
subtask_3_3.txt | AC | 107 ms | 8320 KB |
subtask_3_4.txt | AC | 107 ms | 8320 KB |
subtask_3_5.txt | AC | 105 ms | 8320 KB |
subtask_3_6.txt | AC | 107 ms | 8320 KB |
subtask_3_7.txt | AC | 93 ms | 8320 KB |
subtask_3_8.txt | AC | 104 ms | 8320 KB |
subtask_3_9.txt | AC | 106 ms | 8320 KB |