月赛t3求助
  • 板块学术版
  • 楼主qnqfff
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/9/4 17:34
  • 上次更新2023/10/27 12:34:15
查看原帖
月赛t3求助
304534
qnqfff楼主2022/9/4 17:34

RTRT wa #28

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,x,p,q,t[100010],ans=1,now,slp;
double r;
signed main(){
    cin>>n>>x>>p>>q;
    r=(double)p/q;
    for(int i=1;i<=n;i++)
        cin>>t[i];
    now=x;
    int i=1;
    while(i<=n){
        if(now>t[i]&&(double)slp+now-t[i]>=(double)r*x*ans)
            now-=t[i],i++;
        else{
            int val=ceil((double)((r*x*ans-slp-now+t[i])/(x-r*x)));
            slp+=now+(max(val-1,(int)0))*x,now=x;
            ans+=max(val,(int)1);
        }
    }
    cout<<ans;
}
2022/9/4 17:34
加载中...