10966 2024. 04. 22 17:01:22 bovizdb Szitakötő (50 pont) cpp17 Hibás válasz 12/50 18ms 7176 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define endl "\n"
#define pll pair<ll, ll>
#define fs first
#define sc second
#define vll vector<ll>
 
const ll mod = 1e9 + 7;

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    
    ll n, k;
    cin >> n >> k;

    vll v(n);
    for (ll i = 0; i < n; i++)
        cin >> v[i];

    if (k == 1 && n > 1)
    {
        cout << 0;
        return 0;
    }

    ll ans = 1;

    vll w(n);
    w[0] = v[0];
    for (ll i = 1; i < n; i++)
        w[i] = w[i-1] + v[i];

    for (ll i = 0; i < k-1; i++)
    {
        if (w[i] <= w[k-1]-w[i])
        {
            ans *= 2;
            ans %= mod;
        }
    }

    for (ll i = k; i < n; i++)
    {
        if (w[i-1] <= v[i])
        {
            cout << 0;
            return 0;
        }
        if (w[i-1] > w[n-1] - w[i-1])
        {
            ans *= 2;
            ans %= mod;
        }
    }

    if (n == k)
    {
        ans *= 2;
        ans %= mod;
    }

    cout << ans;

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 12/50
1 Elfogadva 0/0 3ms 1976 KiB
2 Hibás válasz 0/0 17ms 4964 KiB
3 Elfogadva 1/1 3ms 2172 KiB
4 Elfogadva 1/1 3ms 2268 KiB
5 Elfogadva 1/1 3ms 2448 KiB
6 Elfogadva 1/1 3ms 2640 KiB
7 Elfogadva 1/1 3ms 2864 KiB
8 Hibás válasz 0/1 3ms 2956 KiB
9 Hibás válasz 0/1 3ms 3084 KiB
10 Hibás válasz 0/2 3ms 3296 KiB
11 Hibás válasz 0/2 3ms 3520 KiB
12 Hibás válasz 0/2 3ms 3608 KiB
13 Hibás válasz 0/2 3ms 3628 KiB
14 Elfogadva 2/2 3ms 3704 KiB
15 Hibás válasz 0/2 3ms 3544 KiB
16 Hibás válasz 0/2 3ms 3392 KiB
17 Hibás válasz 0/2 3ms 3520 KiB
18 Hibás válasz 0/2 3ms 3592 KiB
19 Hibás válasz 0/2 3ms 3596 KiB
20 Hibás válasz 0/2 3ms 3592 KiB
21 Elfogadva 1/1 3ms 3596 KiB
22 Hibás válasz 0/2 14ms 6800 KiB
23 Hibás válasz 0/2 14ms 6780 KiB
24 Hibás válasz 0/2 17ms 6940 KiB
25 Hibás válasz 0/2 18ms 6876 KiB
26 Elfogadva 2/2 17ms 6872 KiB
27 Hibás válasz 0/2 10ms 6924 KiB
28 Hibás válasz 0/2 16ms 6968 KiB
29 Hibás válasz 0/2 14ms 7176 KiB
30 Hibás válasz 0/2 17ms 7132 KiB
31 Elfogadva 2/2 17ms 7136 KiB