150642025-02-12 07:05:13BencuLeggyorsabb pénzkeresés (50)cpp17Elfogadva 50/5030ms2032 KiB
#include <bits/stdc++.h>

using namespace std;
long long n,p,m,sz;

struct szamok{
    long long penz=0;
    long long m=0;
}a[100001];

int main()
{
    //ios::sync_with_stdio(0);
    //cin.tie(0);
    ifstream f("be.in");
    cin>>n>>p;
    //cin>>n>>p;
    long long s=0,i=0;
    while (a[i].m<p && i<n) {
        i++;
        cin>>a[i].penz;
        //cin>>a[i].penz;
        if (a[i].penz>=p) sz=1;
        a[i].m=a[i-1].m+a[i].penz;
        m++;
    }
    //cout<<m<<endl;
    while (i<n) {
        i++;
        cin>>a[i].penz;
        //cin>>a[i].penz;
        a[i].m=a[i-1].m+a[i].penz;
        while ((a[i].m-a[i-m+1].m)>=p)m--;
    }
    /*for (int i=1; i<=n; i++) {
        //cout<<a[i].penz<<"-"<<a[i].m<<endl;
    }*/
    /*for (int i=1; i<=n; i++) {
        int s=a[i],j=i,t=1;
        //cout<<i<<":"<<s<<" ";
        while (s<p && j<n) {
            j++;
            s=s+a[j];
            //cout<<s<<" ";
            t++;
        }
        //cout<<endl;
        if (t<m && s>=p) m=t;
    }*/
    if (sz==1) cout<<1;
    else cout<<m;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms512 KiB
2Elfogadva0/028ms1844 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/24ms564 KiB
7Elfogadva2/24ms444 KiB
8Elfogadva2/24ms484 KiB
9Elfogadva2/24ms564 KiB
10Elfogadva2/24ms564 KiB
11Elfogadva2/228ms1752 KiB
12Elfogadva2/228ms1844 KiB
13Elfogadva2/228ms1832 KiB
14Elfogadva2/228ms1960 KiB
15Elfogadva2/228ms1848 KiB
16Elfogadva2/230ms1844 KiB
17Elfogadva2/228ms1972 KiB
18Elfogadva2/228ms1920 KiB
19Elfogadva2/228ms1844 KiB
20Elfogadva2/228ms1852 KiB
21Elfogadva2/228ms1844 KiB
22Elfogadva2/228ms1844 KiB
23Elfogadva2/228ms2032 KiB
24Elfogadva2/228ms1844 KiB
25Elfogadva2/228ms1844 KiB
26Elfogadva2/228ms1844 KiB
27Elfogadva2/228ms2032 KiB