제출 #98812

#제출 시각아이디문제언어결과실행 시간메모리
98812MvCHomecoming (BOI18_homecoming)C++11
0 / 100
164 ms16384 KiB
#pragma GCC optimize("O3")
#include "homecoming.h"
#include<bits/stdc++.h>
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
typedef long long ll;
typedef long long ld;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<61);
const int inf=(1<<30);
const int nmax=1e5+50;
const int mod=1e9+7;
using namespace std;
int n,k,i,j,t1,i1,t;
ll f[505][505][2],a[505],b[505],p[505],cur,ans;
ll solve(int N,int K,int *A,int *B)
{
	n=N,k=K,ans=0;
	memset(f,0,sizeof(f));
	for(i=1;i<=n;i++)a[i]=A[i-1];
	for(i=1;i<=n;i++)
	{
		b[i]=B[i-1];
		p[i]=p[i-1]+b[i];
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			f[i][j][0]=max(f[i-1][j][0],f[i-1][j][1]);
			for(t=j-1;t<i;t++)
			{
				t1=(t+k-1)%n+1;
				i1=(i+k-1)%n;
				if(!t1)t1=n;
				if(!i1)i1=n;
				if(t+k-1<i)
				{
					if(i1>i)cur=p[i1]-p[i-1];
					else cur=p[n]-p[i-1]+p[i1];
				}
				else if(t1>t && i1<i)cur=p[n]-p[t1-1]+p[i1];
				else cur=p[i1]-p[t1-1];
				f[i][j][1]=max(f[i][j][1],f[t][j-1][1]-cur+a[i]);
			}
		}
	}
	for(i=1;i<=n;i++)ans=max(ans,(f[n][i][0],f[n][i][1]));
	return ans;
}

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

homecoming.cpp: In function 'll solve(int, int, int*, int*)':
homecoming.cpp:53:41: warning: left operand of comma operator has no effect [-Wunused-value]
  for(i=1;i<=n;i++)ans=max(ans,(f[n][i][0],f[n][i][1]));
                                ~~~~~~~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...