Submission #1227643


Source Code Expand

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define rep1(i,n) for(int i=1;i<=(int)(n);i++)
#define all(c) c.begin(),c.end()
#define pb push_back
#define fs first
#define sc second
#define show(x) cout << #x << " = " << x << endl
#define chmin(x,y) x=min(x,y)
#define chmax(x,y) x=max(x,y)
using namespace std;
template<class S,class T> ostream& operator<<(ostream& o,const pair<S,T> &p){return o<<"("<<p.fs<<","<<p.sc<<")";}
template<class T> ostream& operator<<(ostream& o,const vector<T> &vc){o<<"sz = "<<vc.size()<<endl<<"[";for(const T& v:vc) o<<v<<",";o<<"]";return o;}
typedef long long ll;
int MX=100000;
int N,M;
ll o[1000][1000];
ll inf = 1e13;
vector<ll> getnext(vector<ll> a){
	int N = a.size();
	vector<ll> b(N);
	rep(i,N) b[i]=a[i];
	rep(i,N-1) b[i+1]+=b[i];
	return b;
}
ll need(vector<ll> a,vector<ll> b){	//need b++
	if(a[0]<b[0]) return -inf;
	assert(a[0]==b[0]);
	int N = a.size();

	if(a>=b){
		ll nd = (a[1]-b[1]+b[0]-1)/b[0];
		if(a[1]<nd*b[0]+b[1]) return nd;
		assert(a[1]==nd*b[0]+b[1]);
		if(N==2) return nd+1;

		ll nb2 = b[2] + nd*b[1] + nd*(nd+1)/2*b[2];
		if(nb2>a[2]) return nd;

		//assert(nd<=10000)
		rep(t,10000000){
			if(a<b) return t;
			b = getnext(b);
		}
	}else{
		return -need(b,a);
	}
}
ll ns[1000];
ll solve(){
	cin>>N>>M;
	rep(i,N) rep(j,M) cin>>o[i][j];
	if(N==1){
		return 0;
	}
	rep(i,N-1) if(o[i][0]>o[i+1][0]){
		return -1;
	}
	if(M==1){
		rep(i,N-1) if(o[i][0]==o[i+1][0]){
			return -1;
		}
		return 0;
	}

	rep(i,N-1){
		vector<ll> a(M),b(M);
		rep(j,M) a[j]=o[i][j],b[j]=o[i+1][j];
		ns[i] = need(a,b);
//		show(ns[i]);
		assert(ns[i]!=inf);
	}

	ll ans = 0;
	ll prev = 0;
	rep(i,N-1){
		ll nd = ns[i] + prev;
		if(nd<0) nd=0;
		ans+=nd;
		prev=nd;
	}
	return ans;
}
int main(){
	cout<<solve()<<endl;
}

Submission Info

Submission Time
Task B - Takahashi the Magician
User sigma425
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1868 Byte
Status WA
Exec Time 2104 ms
Memory 8192 KB

Judge Result

Set Name Sample subtask1 subtask2 All
Score / Max Score 0 / 0 0 / 200 0 / 800 0 / 200
Status
AC × 2
WA × 1
AC × 7
WA × 20
AC × 8
WA × 27
AC × 19
WA × 51
TLE × 2
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 WA 1 ms 256 KB
hack_2.txt WA 1 ms 256 KB
hack_3.txt WA 1 ms 256 KB
hack_4.txt AC 1 ms 256 KB
hack_5.txt WA 1 ms 256 KB
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 256 KB
sample_3.txt WA 1 ms 256 KB
subtask_1_1.txt WA 1 ms 640 KB
subtask_1_10.txt WA 1 ms 640 KB
subtask_1_11.txt WA 356 ms 8192 KB
subtask_1_12.txt WA 3 ms 6272 KB
subtask_1_13.txt WA 4 ms 6272 KB
subtask_1_14.txt WA 1 ms 256 KB
subtask_1_15.txt WA 372 ms 8192 KB
subtask_1_16.txt AC 387 ms 8064 KB
subtask_1_17.txt AC 388 ms 8064 KB
subtask_1_18.txt WA 376 ms 8064 KB
subtask_1_19.txt WA 1 ms 256 KB
subtask_1_2.txt AC 1 ms 256 KB
subtask_1_20.txt AC 3 ms 6272 KB
subtask_1_3.txt AC 2 ms 640 KB
subtask_1_4.txt WA 2 ms 640 KB
subtask_1_5.txt WA 3 ms 3328 KB
subtask_1_6.txt WA 4 ms 5376 KB
subtask_1_7.txt WA 4 ms 5376 KB
subtask_1_8.txt WA 358 ms 8064 KB
subtask_1_9.txt WA 94 ms 8064 KB
subtask_2_1.txt WA 19 ms 6656 KB
subtask_2_10.txt WA 30 ms 4224 KB
subtask_2_11.txt AC 184 ms 8064 KB
subtask_2_12.txt WA 186 ms 8192 KB
subtask_2_13.txt WA 170 ms 8192 KB
subtask_2_14.txt WA 185 ms 8192 KB
subtask_2_15.txt WA 3 ms 6272 KB
subtask_2_16.txt AC 178 ms 8064 KB
subtask_2_17.txt AC 177 ms 8064 KB
subtask_2_18.txt WA 187 ms 8064 KB
subtask_2_19.txt AC 3 ms 6272 KB
subtask_2_2.txt WA 158 ms 8192 KB
subtask_2_20.txt WA 1 ms 512 KB
subtask_2_21.txt WA 2 ms 512 KB
subtask_2_22.txt WA 2 ms 768 KB
subtask_2_23.txt WA 2 ms 640 KB
subtask_2_24.txt WA 2 ms 768 KB
subtask_2_25.txt WA 1 ms 512 KB
subtask_2_26.txt WA 2 ms 640 KB
subtask_2_27.txt WA 2 ms 640 KB
subtask_2_3.txt WA 158 ms 8064 KB
subtask_2_4.txt WA 79 ms 4352 KB
subtask_2_5.txt WA 185 ms 8064 KB
subtask_2_6.txt AC 184 ms 8064 KB
subtask_2_7.txt WA 64 ms 4352 KB
subtask_2_8.txt WA 10 ms 1664 KB
subtask_2_9.txt WA 38 ms 4352 KB
subtask_3_1.txt WA 3 ms 3328 KB
subtask_3_10.txt WA 407 ms 8064 KB
subtask_3_11.txt WA 388 ms 8064 KB
subtask_3_12.txt AC 386 ms 8064 KB
subtask_3_13.txt WA 2 ms 3328 KB
subtask_3_14.txt AC 3 ms 6272 KB
subtask_3_2.txt WA 4 ms 3328 KB
subtask_3_3.txt WA 392 ms 8064 KB
subtask_3_4.txt AC 391 ms 8064 KB
subtask_3_5.txt TLE 2104 ms 8064 KB
subtask_3_6.txt AC 393 ms 8064 KB
subtask_3_7.txt WA 314 ms 8064 KB
subtask_3_8.txt WA 370 ms 8192 KB
subtask_3_9.txt TLE 2103 ms 8064 KB