E题疑惑

#include<bits/stdc++.h>
#define xs first
#define ys second
#define int long long
using namespace std;
typedef pair<int,int> PII;
typedef pair<int,pair<int,int>> PIPII;
const int N=2e5+10,mod=1e9+7;
int a[N];
int T,n,m,k;
void solve()
{
	cin>>n>>m;
    int sum=0,mini=1e18;
    for(int i=1;i<=n;i++)cin>>a[i],sum+=a[i],mini=min(mini,a[i]);
    int i=1;
    int ans=0;
    ans+=m/sum*n;
    m%=sum;
    while(m>=mini){
        if(m>=a[i]){
            ans++;
            m-=a[i];
        }
        i++;
        if(i==n+1)i=1;
        if(m<mini)break;
    }
    cout<<ans;
}
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    T=1;
//     cin>>T;
    while(T--)solve();
}

E题这样写不一定可以过吧,假如只有最后一个是1e9,其他全是1,然后手上的钱1e18,那应该T了吧

全部评论

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务