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 |
|
|
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 |