1279B - Verse For Santa - CodeForces Solution


binary search brute force implementation *1300

Please click on ads to support us..

Python Code:

import sys,bisect
input=lambda:sys.stdin.readline().rstrip()
def solve():
	N,S=map(int,input().split())
	A=list(map(int,input().split()))
	B=[0 for i in range(N+1)]
	for i in range(1,N+1):
		B[i]=A[i-1]+B[i-1]
	ans=bisect.bisect_left(B,S+1)-1
	ret=0
	for i in range(1,N+1):
		if B[i-1]>=S:
			break
		if ans<bisect.bisect_left(B,S+A[i-1]+1)-2:
			ans=bisect.bisect_left(B,S+A[i-1]+1)-2
			ret=i
	print(ret)
T=int(input())
for i in range(T):
	solve()

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define END return 0;
#define yes cout << "YES" << '\n';
#define no cout << "NO" << '\n';
#define endl '\n'

void Fast() {
    cin.tie(0), cout.tie(0), cin.sync_with_stdio(0), cout.sync_with_stdio(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

void test_case() {
    ll n,s;cin>>n>>s;
    vector<ll>v(n);
    for (int i = 0; i < n; ++i) {
        cin>>v[i];
    }
    for (int i = 1; i < n; ++i) {
        v[i]=v[i]+v[i-1];
    }
    int mxlen=0,ind=-1,len;
    for (int i = -1; i < n; ++i) {
        if(i==0)
            len=upper_bound(v.begin(),v.end(),s+(v[i]))-v.begin();
        else if (i==-1)
            len=upper_bound(v.begin(),v.end(),s)-v.begin();
        else
            len=upper_bound(v.begin(),v.end(),s+(v[i]-v[i-1]))-v.begin();
        if(len>mxlen&&i<len){
            ind=i;
            mxlen=len;
        }
    }
    cout<<ind+1<<endl;
}

int main()
{
    Fast();
    int T = 1;
    cin >> T;
    while (T--)
        test_case();
    END
}


Comments

Submit
0 Comments
More Questions

Lift queries
Goki and his breakup
Ali and Helping innocent people
Book of Potion making
Duration
Birthday Party
e-maze-in
Bricks Game
Char Sum
Two Strings
Anagrams
Prime Number
Lexical Sorting Reloaded
1514A - Perfectly Imperfect Array
580A- Kefa and First Steps
1472B- Fair Division
996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array
852. Peak Index in a Mountain Array