150632025-02-12 07:04:27BencuLeggyorsabb pénzkeresés (50)cpp17Accepted 50/5010ms1988 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;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/010ms1844 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/22ms592 KiB
7Accepted2/22ms564 KiB
8Accepted2/22ms564 KiB
9Accepted2/22ms508 KiB
10Accepted2/22ms564 KiB
11Accepted2/210ms1980 KiB
12Accepted2/210ms1960 KiB
13Accepted2/210ms1868 KiB
14Accepted2/210ms1844 KiB
15Accepted2/210ms1948 KiB
16Accepted2/210ms1988 KiB
17Accepted2/210ms1856 KiB
18Accepted2/210ms1744 KiB
19Accepted2/210ms1936 KiB
20Accepted2/210ms1844 KiB
21Accepted2/210ms1888 KiB
22Accepted2/210ms1744 KiB
23Accepted2/210ms1800 KiB
24Accepted2/210ms1756 KiB
25Accepted2/210ms1816 KiB
26Accepted2/210ms1752 KiB
27Accepted2/210ms1816 KiB