Submission #2139665
Source Code Expand
// #include {{{ #include <iostream> #include <cassert> #include <cstring> #include <cstdlib> #include <cstdio> #include <cctype> #include <cmath> #include <ctime> #include <queue> #include <set> #include <map> #include <stack> #include <string> #include <bitset> #include <vector> #include <complex> #include <algorithm> using namespace std; // }}} // #define {{{ typedef long long ll; typedef double db; typedef pair<int,int> pii; typedef vector<int> vi; #define de(x) cout << #x << "=" << x << endl #define rep(i,a,b) for(int i=a;i<(b);++i) #define per(i,a,b) for(int i=(b)-1;i>=(a);--i) #define all(x) (x).begin(),(x).end() #define sz(x) (int)(x).size() #define mp make_pair #define pb push_back #define fi first #define se second // }}} const int N = 1e3 + 10; const ll inf = 1e9 + 7; int n , m , a[N][N]; ll times[N]; ll solve(vector<ll> A,vector<ll> B,int sig = 0) { if(A >= B) { int times = 0; while(true) { rep(i,1,sz(B)) { B[i] += B[i-1]; B[i] = min(B[i] , inf); if(B[i] == inf) break; } times++; if(sig == 0) { if(A < B) return times; if(sz(B) == 2) return times + (A[1] - B[1] + B[0]) / B[0]; if(B[2] == inf) return times + (A[1] - B[1] + B[0] - 1) / B[0]; } else { if(A <= B) return times; if(sz(B) == 2 || B[2] == inf) return times + (A[1] - B[1] + B[0] - 1) / B[0]; } } } else return -(solve(B , A , 1) - 1); } int main(){ scanf("%d%d",&n,&m); rep(i,0,n) rep(j,0,m) scanf("%d",a[i]+j); bool error = false; rep(i,1,n) error |= a[i][0] < a[i-1][0]; if(m == 1) rep(i,1,n) error |= a[i][0] <= a[i-1][0]; if(error) return printf("-1\n") , 0; rep(i,1,n) { if(a[i][0] > a[i-1][0]) { times[i] = 0; continue; } vector<ll> A , B; rep(j,0,m) A.pb(a[i-1][j]) , B.pb(a[i][j]); ll del = solve(A,B); times[i] = max(0ll , times[i-1] + del); } ll ans = 0; rep(i,0,n) ans += times[i]; printf("%lld\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Takahashi the Magician |
User | Y_UME |
Language | C++14 (GCC 5.4.1) |
Score | 1200 |
Code Size | 2090 Byte |
Status | AC |
Exec Time | 121 ms |
Memory | 4224 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:66:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&m); ^ ./Main.cpp:67:43: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] rep(i,0,n) rep(j,0,m) scanf("%d",a[i]+j); ^
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 | 640 KB |
subtask_1_10.txt | AC | 1 ms | 640 KB |
subtask_1_11.txt | AC | 114 ms | 4224 KB |
subtask_1_12.txt | AC | 3 ms | 4224 KB |
subtask_1_13.txt | AC | 3 ms | 4224 KB |
subtask_1_14.txt | AC | 1 ms | 256 KB |
subtask_1_15.txt | AC | 117 ms | 4224 KB |
subtask_1_16.txt | AC | 112 ms | 4224 KB |
subtask_1_17.txt | AC | 112 ms | 4224 KB |
subtask_1_18.txt | AC | 117 ms | 4224 KB |
subtask_1_19.txt | AC | 1 ms | 256 KB |
subtask_1_2.txt | AC | 1 ms | 256 KB |
subtask_1_20.txt | AC | 3 ms | 4224 KB |
subtask_1_3.txt | AC | 1 ms | 640 KB |
subtask_1_4.txt | AC | 2 ms | 640 KB |
subtask_1_5.txt | AC | 2 ms | 1792 KB |
subtask_1_6.txt | AC | 3 ms | 2560 KB |
subtask_1_7.txt | AC | 3 ms | 3072 KB |
subtask_1_8.txt | AC | 115 ms | 4224 KB |
subtask_1_9.txt | AC | 45 ms | 4224 KB |
subtask_2_1.txt | AC | 12 ms | 4224 KB |
subtask_2_10.txt | AC | 17 ms | 1920 KB |
subtask_2_11.txt | AC | 87 ms | 4224 KB |
subtask_2_12.txt | AC | 87 ms | 4224 KB |
subtask_2_13.txt | AC | 86 ms | 4224 KB |
subtask_2_14.txt | AC | 88 ms | 4224 KB |
subtask_2_15.txt | AC | 3 ms | 4224 KB |
subtask_2_16.txt | AC | 77 ms | 4224 KB |
subtask_2_17.txt | AC | 77 ms | 4224 KB |
subtask_2_18.txt | AC | 92 ms | 4224 KB |
subtask_2_19.txt | AC | 3 ms | 4224 KB |
subtask_2_2.txt | AC | 84 ms | 4224 KB |
subtask_2_20.txt | AC | 1 ms | 512 KB |
subtask_2_21.txt | AC | 1 ms | 512 KB |
subtask_2_22.txt | AC | 2 ms | 768 KB |
subtask_2_23.txt | AC | 1 ms | 512 KB |
subtask_2_24.txt | AC | 2 ms | 768 KB |
subtask_2_25.txt | AC | 1 ms | 512 KB |
subtask_2_26.txt | AC | 2 ms | 512 KB |
subtask_2_27.txt | AC | 2 ms | 640 KB |
subtask_2_3.txt | AC | 84 ms | 4224 KB |
subtask_2_4.txt | AC | 43 ms | 2304 KB |
subtask_2_5.txt | AC | 88 ms | 4224 KB |
subtask_2_6.txt | AC | 87 ms | 4224 KB |
subtask_2_7.txt | AC | 34 ms | 1920 KB |
subtask_2_8.txt | AC | 6 ms | 1152 KB |
subtask_2_9.txt | AC | 21 ms | 1920 KB |
subtask_3_1.txt | AC | 2 ms | 1408 KB |
subtask_3_10.txt | AC | 119 ms | 4224 KB |
subtask_3_11.txt | AC | 119 ms | 4224 KB |
subtask_3_12.txt | AC | 112 ms | 4224 KB |
subtask_3_13.txt | AC | 2 ms | 1664 KB |
subtask_3_14.txt | AC | 3 ms | 4224 KB |
subtask_3_2.txt | AC | 3 ms | 1408 KB |
subtask_3_3.txt | AC | 121 ms | 4224 KB |
subtask_3_4.txt | AC | 121 ms | 4224 KB |
subtask_3_5.txt | AC | 119 ms | 4224 KB |
subtask_3_6.txt | AC | 120 ms | 4224 KB |
subtask_3_7.txt | AC | 111 ms | 4224 KB |
subtask_3_8.txt | AC | 117 ms | 4224 KB |
subtask_3_9.txt | AC | 119 ms | 4224 KB |