能力不够,用的是暴力解法.从第一天吃桃子遍历到第n天吃桃子
每一天往后遍历k位做累加与当前最高开心度对比,相等再与最低羞耻度对比。
代码
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
long long a[200001];
long long b[200001];
int dp[200001];
int maxday = (long long)pow(10,9);
long long maxa = 0;
long long minb = (long long)pow(10,9);
int main()
{
int n,k;
cin>>n>>k;
for(long long i = 1;i<=n;i++)
{
cin>>a[i];
}
for(long long i = 1;i<=n;i++)
{
cin>>b[i];
}
for(long long i=1;i<=n;i++)
{
long long sum = 0;
long long sumb = 0;
for(long long j=i;j<i+k&&j<=n;j++)
{
sum += a[j];
sumb += b[j];
}
if(sumb!=0&&(sum>=maxa))
{
if(sum == maxa)
{
if(sumb<=minb)
{
if(sumb == minb)
{
if(i<=maxday)
{
maxa = sum;
minb = sumb;
maxday = i;
}
}
else
{
maxa = sum;
minb = sumb;
maxday = i;
}
}
}
else
{
maxa = sum;
minb = sumb;
maxday = i;
}
}
}
cout<< maxday << endl;
return 0;
}