115092024-10-15 11:49:25chucknorrisSzitakötő (50 pont)cpp17Hibás válasz 8/5048ms1600 KiB
#include <iostream>
#define MOD 1000000007

using namespace std;

int N, K, a[100002];
long long s[100002];

int main(){
    cin >> N >> K;
    for(int i = 1; i <= N; i++){
        cin >> a[i]; s[i] = s[i - 1] + a[i];
    }

    if(K == 1) cout << 0;
    else if(N == 3){
        if(K == 2){
            if(a[1] + a[2] < a[3]) cout << 0;
            else cout << 4;
        }
        else if(K == 3){
            if(a[1] + a[2] <= a[3]) cout << 8;
            else cout << 4;
        }
    }
    else{
        long long ans = 1, S = 0;
        int i = K;
        while(S < s[i]){
            S = S + a[i]; i = i - 1;
        }

        for( ; i >= 1; i--) ans = ans * 2 % MOD;

        if(K == N) cout << ans * 2 % MOD;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/50
1Hibás válasz0/01ms320 KiB
2Hibás válasz0/046ms1336 KiB
3Elfogadva1/11ms320 KiB
4Elfogadva1/11ms320 KiB
5Hibás válasz0/11ms320 KiB
6Elfogadva1/11ms320 KiB
7Elfogadva1/11ms500 KiB
8Hibás válasz0/11ms320 KiB
9Hibás válasz0/11ms320 KiB
10Hibás válasz0/21ms332 KiB
11Hibás válasz0/21ms408 KiB
12Hibás válasz0/21ms320 KiB
13Hibás válasz0/21ms320 KiB
14Hibás válasz0/21ms320 KiB
15Hibás válasz0/21ms320 KiB
16Hibás válasz0/21ms508 KiB
17Hibás válasz0/21ms584 KiB
18Hibás válasz0/21ms508 KiB
19Hibás válasz0/21ms420 KiB
20Hibás válasz0/21ms508 KiB
21Hibás válasz0/11ms424 KiB
22Hibás válasz0/232ms1396 KiB
23Hibás válasz0/235ms1432 KiB
24Hibás válasz0/246ms1436 KiB
25Hibás válasz0/246ms1376 KiB
26Elfogadva2/248ms1336 KiB
27Hibás válasz0/218ms1476 KiB
28Hibás válasz0/235ms1492 KiB
29Hibás válasz0/232ms1516 KiB
30Hibás válasz0/246ms1336 KiB
31Elfogadva2/243ms1600 KiB