/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 2ms 540.0 KiB
#3 Accepted 1ms 592.0 KiB
#4 Accepted 1ms 540.0 KiB
#5 Accepted 1ms 516.0 KiB
#6 Accepted 1ms 540.0 KiB

Code

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
    int n, k, d;
    cin >> n >> k >> d;

    vector<int> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];

    ll maxPr = -1;
    int startInd = -1;

    ll sum = 0;
    int left = 0;

    for (int right = 0; right < n; ++right) {
        sum += a[right];

        //maintain size of k
        if (right - left + 1 > k) {
            sum -= a[left];
            left++;
        }

        // When window size == k, check divisibility
        if (right - left + 1 == k) {
            if (sum % d == 0) {
             
                ll tempPr = 1;
                for (int i = left; i <= right; ++i) {
                    tempPr *= a[i];
                }
                if (startInd == -1 || tempPr > maxPr) {
                    maxPr = tempPr;
                    startInd = left;
                }
            }
        }
    }

    if (startInd == -1)
        cout << -1 << endl;
    else
        cout << startInd + 1 << " " << startInd + k << endl;

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1190 Segment Strength
Language
C++17 (G++ 13.2.0)
Submit At
2025-04-06 09:52:09
Judged At
2025-04-06 09:52:09
Judged By
Score
100
Total Time
2ms
Peak Memory
592.0 KiB