/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 9ms 576.0 KiB
#3 Accepted 42ms 584.0 KiB
#4 Accepted 14ms 404.0 KiB
#5 Accepted 14ms 720.0 KiB
#6 Accepted 15ms 2.07 MiB
#7 Accepted 15ms 3.566 MiB
#8 Accepted 18ms 3.578 MiB
#9 Accepted 6ms 532.0 KiB

Code

/*
 *Copyright (c) Swadheen Islam Robi (SIR01)
 *Created on Sun Apr 06 2025 9:30:07 PM
 */
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pie 2*(acos(0.0))
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define pb push_back
#define endl "\n"
#define lcm(a,b) (a*b)/(__gcd<ll>(a,b))
#define mod 1000000007
#define srt(v) sort(v.begin(),v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define ALLAHU_AKBAR ios::sync_with_stdio(false); cin.tie(nullptr);

void sirA()
{
    ll a,b,c; cin>>a>>b>>c;
    cout<<max(0ll,a-c)<<" ";
    if(c<=a)cout<<b<<endl;
    else cout<<max(0ll, (b-(c-a)))<<endl;
}
void sirB()
{
    ll l,r,x; cin>>l>>r>>x;

    ll lo=l, hi = r, mid;
    while(lo<=hi)
    {
        mid = lo + (hi-lo)/2;
        if((x + mid)>=l && (x+mid)<=r)
        {
            cout<<x+mid<<" "<<mid<<endl;
            return;
        }
        if((x + mid)<l){
            lo = mid + 1;
        }
        else if((x + mid)>r){
            hi = mid - 1;
        }
    }
    cout<<-1<<" "<<-1<<endl;
    return;
}
void sirC()
{
    ll n,k,d; cin>>n>>k>>d;
    vector<ll>v(n);
    for(auto &e:v) cin>>e;
    vector<ll>ps(n+1);
    ll ind = -1;
    ps[0] = 0;
    for(ll i=0; i<n; i++)
    {
        ps[i+1] = v[i] + ps[i];
    }
    //check 1
    //for(auto &s:ps) cout<<s<<" "; cout<<endl;
    
    for(ll i=1; i<=n-k+1; i++)
    {
        if((ps[i+k-1]-ps[i-1])==k)
        {
        
            if(k%d==0)
            {
                //cout<<ps[i+k-1]<<" "<<ps[i-1]<<endl;
                cout<<i<<endl;
                return;
            }
            // else{
            //     cout<<-1<<endl;
            //     return;
            // }
            
            
        }
    }
    //cout<<ps[5]<<":"<<ps[7]<<endl;
    //chk 0
    for(ll i=1; i<=n-k+1; i++)
    {
        ll ss = (ps[i+k-1]-ps[i-1]);
        if(ss%d==0)
        {
            cout<<i<<endl;
            return;
        }
    }
    cout<<-1<<endl;
    return;
}
int main() {
    ALLAHU_AKBAR

    ll t = 1;
    cin>>t;
    while(t--)
    {
        sirC();
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1190 Segment Strength
Contest
Brain Booster #9
Language
C++17 (G++ 13.2.0)
Submit At
2025-04-06 17:43:21
Judged At
2025-04-06 17:43:21
Judged By
Score
100
Total Time
42ms
Peak Memory
3.578 MiB