📄 3308316_ce.cpp
字号:
#include<iostream>
using namespace std;
int lake[2][26],result[26],temp[2][26],tempx,road[26],time,t,i,j,k,n,ca,max,maxnum,fish;
void reflesh(int x)
{
if(fish>result[0])
{
result[0]=fish;
for(k=1;k<=x;k++)result[k]=temp[1][k];
}
if(fish==result[0])
{
for(k=1;k<=n;k++)
{
if(result[k]>temp[1][0]) return;
if(result[k]<temp[1][0])
{
result[0]=fish;
for(k=1;k<=x;k++) result[k]=temp[1][k];
return;
}
}
}
}
void get(int x)
{
t=1;
t+=road[x-1];fish=0;
for(i=0;i<26;i++) temp[0][i]=0,temp[1][i]=0;
for(i=1;i<=x;i++) temp[0][i]=lake[0][i];
for(;t<=time;t++)
{
max=0,maxnum=0;
for(i=1;i<=x;i++) {if(temp[0][i]>max) maxnum=i,max=temp[0][i];}
if(maxnum==0) {temp[1][1]+=time-t,t=time;}
temp[0][maxnum]-=lake[1][maxnum];temp[1][maxnum]++;
fish+=max;
}
reflesh(x);
}
int main()
{
ca=0;cin>>n;
while(n)
{
ca++;
memset(lake,0,52);
memset(result,0,26);
memset(road,0,26);
cin>>time;time*=12;t=0;
for(j=1;j<=n;j++) cin>>lake[0][j];
for(j=1;j<=n;j++) cin>>lake[1][j];
for(j=1;j<n;j++) cin>>tempx,road[j]=tempx+road[j-1];
for(j=1;j<=n;j++) get(j);
if(ca!=1) cout<<endl;
cout<<result[1]*5;
for(j=2;j<=n;j++) cout<<","<<result[j]*5;
cout<<endl;
cout<<"Number of fish expected: "<<result[0];
cin>>n;
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -