Submission #1513524


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
typedef pair<int,P> P1;
typedef pair<P,P> P2;
#define pu push
#define pb push_back
#define mp make_pair
#define eps 1e-7
#define INF 1000000000
#define fi first
#define sc second
#define rep(i,x) for(int i=0;i<x;i++)
#define SORT(x) sort(x.begin(),x.end())
#define ERASE(x) x.erase(unique(x.begin(),x.end()),x.end())
#define POSL(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin())
#define POSU(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin())
int n,m;
ll c[5005],e[5005][205];
ll ans;
struct segtree{
	ll seg[(1<<14)];
	void init(int a,ll x){
		a += (1<<13)-1; seg[a] = x;
		while(a){
			a=(a-1)/2;
			seg[a] = max(seg[a*2+1],seg[a*2+2]);
		}
	}
	ll query(int a,int b,int k,int l,int r){
		if(r<a||b<l) return 0ll;
		if(a<=l&&r<=b) return seg[k];
		return max(query(a,b,k*2+1,l,(l+r)/2),query(a,b,k*2+2,(l+r)/2+1,r));
	}
}S[205];
ll score(int L,int R){
	ll x = c[L-1]-c[R-1];//cout << x << " " << L << " " << R << endl;
	for(int i=1;i<=m;i++){
		x += S[i].query(L,R,0,0,(1<<13)-1);
	}//cout<<x<<endl;
	return x;
}
void go(int L,int R,int a,int b){
	if(L>R || a>b) return;
	int mid = (L+R)/2;
	pair<ll,int> X = mp(-1e18,0);
	for(int x=a;x<=b;x++){
		if(x>=mid){
			X = max(X,mp(score(mid,x),x));
		}
	}
	//cout << X.fi << " " << mid << " " << X.sc << endl;
	ans = max(ans,X.fi);
	go(L,mid-1,a,X.sc);
	go(mid+1,R,X.sc,b);
}
int main(){
	cin >> n >> m;
	for(int i=1;i<n;i++) scanf("%lld",&c[i]);
	for(int i=2;i<n;i++) c[i] += c[i-1];
	for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){
		scanf("%lld",&e[i][j]); S[j].init(i,e[i][j]);
	}
	
	go(1,n,1,n);
	cout << ans << endl;
}

Submission Info

Submission Time
Task F - Yakiniku Restaurants
User IH19980412
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1727 Byte
Status TLE
Exec Time 2104 ms
Memory 33920 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:60:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for(int i=1;i<n;i++) scanf("%lld",&c[i]);
                                          ^
./Main.cpp:63:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",&e[i][j]); S[j].init(i,e[i][j]);
                         ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1000
Status
AC × 2
AC × 16
TLE × 14
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_dense_max_01.txt, subtask_1_dense_max_02.txt, subtask_1_dense_max_03.txt, subtask_1_dense_max_04.txt, subtask_1_dense_rand_01.txt, subtask_1_dense_rand_02.txt, subtask_1_dense_rand_03.txt, subtask_1_dense_rand_04.txt, subtask_1_max_01.txt, subtask_1_max_02.txt, subtask_1_max_03.txt, subtask_1_max_04.txt, subtask_1_min_01.txt, subtask_1_min_02.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_rand_03.txt, subtask_1_rand_04.txt, subtask_1_widemax_01.txt, subtask_1_widemax_02.txt, subtask_1_widemax_03.txt, subtask_1_widemax_04.txt, subtask_1_widemax_05.txt, subtask_1_widemax_06.txt, subtask_1_widemax_07.txt, subtask_1_widemax_08.txt, subtask_1_widemax_09.txt, subtask_1_widemax_10.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 2432 KB
sample_02.txt AC 2 ms 2432 KB
subtask_1_dense_max_01.txt TLE 2103 ms 33920 KB
subtask_1_dense_max_02.txt TLE 2104 ms 33920 KB
subtask_1_dense_max_03.txt TLE 2104 ms 33920 KB
subtask_1_dense_max_04.txt TLE 2103 ms 33920 KB
subtask_1_dense_rand_01.txt AC 1141 ms 32000 KB
subtask_1_dense_rand_02.txt AC 1059 ms 32128 KB
subtask_1_dense_rand_03.txt AC 26 ms 6784 KB
subtask_1_dense_rand_04.txt AC 184 ms 15360 KB
subtask_1_max_01.txt AC 1821 ms 33920 KB
subtask_1_max_02.txt AC 1648 ms 33920 KB
subtask_1_max_03.txt AC 1784 ms 33920 KB
subtask_1_max_04.txt AC 1677 ms 33920 KB
subtask_1_min_01.txt AC 2 ms 2304 KB
subtask_1_min_02.txt AC 2 ms 2304 KB
subtask_1_rand_01.txt AC 159 ms 25344 KB
subtask_1_rand_02.txt AC 63 ms 11264 KB
subtask_1_rand_03.txt AC 156 ms 19200 KB
subtask_1_rand_04.txt AC 152 ms 14848 KB
subtask_1_widemax_01.txt TLE 2104 ms 33920 KB
subtask_1_widemax_02.txt TLE 2104 ms 33920 KB
subtask_1_widemax_03.txt TLE 2104 ms 33920 KB
subtask_1_widemax_04.txt TLE 2104 ms 33920 KB
subtask_1_widemax_05.txt TLE 2104 ms 33920 KB
subtask_1_widemax_06.txt TLE 2103 ms 33920 KB
subtask_1_widemax_07.txt TLE 2104 ms 33920 KB
subtask_1_widemax_08.txt TLE 2104 ms 33920 KB
subtask_1_widemax_09.txt TLE 2103 ms 33920 KB
subtask_1_widemax_10.txt TLE 2104 ms 33920 KB