

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
using namespace std;
typedef long long ll;
int minimize(ll &res,ll t) {
if (res > t)
res = t;
}
int main() {
freopen("SUB.INP","r",stdin);
freopen("SUB.OUT","w",stdout);
int n;
ll s,t = 0;
cin >> n >> s;
ll a[n];
ll mmin = n;
for (int i = 0,j = 0;i < n;i++) {
cin >> a[i];
t += a[i];
while (t - a[j] >= s) {
t -= a[j++];
}
if (t >= s) {
minimize(mmin, i-j+1);
}
}
cout << mmin;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
def tong(k):
global a,s,n
t=0
for i in range(k):
t+=a[i]
if t>=s: return True
for i in range(k,n):
t+=a[i]-a[i-k]
if t>=s: return True
return False
n,s=map(int,input().split())
a=list(map(int,input().split()))
#*^▽^*meothinhle
l=0;r=n-1
while l<=r:
mid=(l+r)//2
if tong(mid):
b=mid
r=mid-1
else:
l=mid+1
print(b)Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin