CodeForces - 1089G Guest Student (枚举)
程序员文章站
2022-06-05 13:42:10
...
注意k<=a[ 7 ] 的时候:
int a[MX];
inline void solve()
{
int k;cin>>k;
rpp(i,7) cin>>a[i];
rpp(i,7) a[i]+=a[i-1];
if(k<=a[7])
{
int ans=7;
for(int i=1;i<=7;++i)
for(int j=i;j<=7;++j)
if(a[j]-a[i-1]>=k) ans=min(ans,j-i+1);
for(int i=7;i>=1;--i)
{
for(int j=1;j<=i;++j)
{
if(a[7]-a[i-1]+a[j]>=k)
ans=min(ans,7-i+1+j);
}
}
cout<<ans<<endl;
return;
}
ll ans=k*7;
rpp(i,8) rep(j,8)
{
ll tag=7-i+1+j;
int yu=k-(a[7]-a[i-1]+a[j]);
if(yu>0) tag+=(yu/a[7]+(yu%a[7]?1:0))*7;
ans=min(ans,tag);
}
cout<<ans<<endl;
}