제출 #685142

#제출 시각아이디문제언어결과실행 시간메모리
685142dostigatorBigger segments (IZhO19_segments)C++17
27 / 100
617 ms10184 KiB
#include <bits/stdc++.h>

using namespace std;

#define all(a) a.begin(),a.end()
#define pb push_back
#define vt vector
#define endl '\n'
#define Y second
#define X first
typedef long long ll;
typedef long double ld;
const ll mod=1e9+7;
const ll INF=1e18;
const int inf=1e9;
const int N=2e5+505;
const int M=1e3+10;
const int dx[]={0,0,1,-1};
const int dy[]={1,-1,0,0};

/*From Benq:
    stuff you should look for
        * int overflow, array bounds
        * special cases (n=1?)
        * do smth instead of nothing and stay organized
        * WRITE STUFF DOWN
        * DON'T GET STUCK ON ONE APPROACH*/

int n,a[N],dp[M][M];
ll pref[N];

ll sum(int l,int r){
	if(r==0)return 0;
	return pref[r]-pref[l-1];
}

void solve(){
	cin>>n;
	for(int i=0; i<M; ++i)for(int j=0; j<M; ++j)dp[i][j]=-1;
	for(int i=1; i<=n; ++i){
		cin>>a[i];
		pref[i]=pref[i-1]+a[i];
	}dp[0][0]=0;
	int res=0;
	for(int i=1; i<=n; ++i){
		for(int ans=1; ans<=i; ++ans){
			dp[i][ans]=dp[i-1][ans];
			for(int j=0; j<i; ++j){
				if(dp[j][ans-1]==-1)continue;
				if(sum(dp[j][ans-1],j)<=sum(j+1,i)){
					dp[i][ans]=j+1;
					res=max(res,ans);
				}
			}//cout<<i<<' '<<ans<<' '<<dp[i][ans]<<endl;
		}
	}cout<<res<<endl;
}

int main(){
	//srand(time(0));
	//freopen("hotel.in","r",stdin);
	//freopen("hotel.out","w",stdout);
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int tt=1,lolol=0;
//	cin>>tt;
	while(tt--) {
		//cout<<"Case "<<++lolol<<": ";
		solve();
	}
}

컴파일 시 표준 에러 (stderr) 메시지

segments.cpp: In function 'int main()':
segments.cpp:64:11: warning: unused variable 'lolol' [-Wunused-variable]
   64 |  int tt=1,lolol=0;
      |           ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...