/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Wrong Answer 9ms 532.0 KiB
#3 Wrong Answer 16ms 344.0 KiB

Code

/**
 *    author:   Binoy Barman
 *    created:  2025-04-06 20:40:40
**/

#include<bits/stdc++.h>
#ifdef LOCAL
#include "algo/debug.h"
#else
#define dbg(...) 42
#endif
using namespace std;
using ll = long long;
const int mod = 1e9 + 7;
const int inf = 2e9;

#define int long long
#define nl '\n'
#define all(v) v.begin(), v.end()
#define clg(x) (32 - __builtin_clz(x))
#define Testcase_Handler int tts, tc = 0; cin >> tts; hell: while(tc++ < tts)
#define uniq(v) sort(all(v)), v.resize(distance(v.begin(), unique(v.begin(), v.end())))
template<class T> using minheap = priority_queue<T, vector<T>, greater<T>>;
template<typename T> istream& operator>>(istream& in, vector<T>& a) {for(auto &x : a) in >> x; return in;};
template<typename A, typename B> istream& operator>>(istream& in, pair<A, B>& p) {in >> p.first >> p.second; return in;};
template<typename T> ostream& operator<<(ostream& out, vector<T>& a) {bool first = true;for(auto &x : a) {if(!first) out << ' ';first = false;out << x;}return out;};

namespace Dark_Lord_Binoy {
inline void init() {
    ios::sync_with_stdio(false); 
    cin.tie(nullptr);

    #ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
}
}

int32_t main() {
    Dark_Lord_Binoy::init();
    Testcase_Handler {
        int n, k, d;
        cin >> n >> k >> d;
        int sum = 0, zero = 0;
        vector<int> a(n);
        vector<int> ind;
        for (int i = 0; i < n; i++) {
            cin >> a[i];
            if(i < k) {
                sum += a[i];
                zero += (a[i] == 0);
            }
        }
        int mx_pro = (zero == 0);
        if(sum % d == 0) {
            ind.push_back(0);
        }
        for (int i = k; i < n; i++) {
            sum += a[i] - a[i - k];
            zero += (a[i] == 0) - (a[i - k] == 0);
            int prod = (zero == 0);
            if(sum % d == 0) {
                if(mx_pro == prod) {
                    ind.push_back(i - k + 1);
                } else if(mx_pro < prod) {
                    ind.clear();
                    ind.push_back(i - k + 1);
                    mx_pro = prod;
                }
            }
        }
        if(ind.empty()) {
            cout << -1 << nl;
        } else {
            cout << ind[0] + 1 << nl;
        }
    }

    dbg(_Time_);
    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 15:59:45
Judged At
2025-04-06 15:59:45
Judged By
Score
0
Total Time
16ms
Peak Memory
532.0 KiB