18142022-12-03 22:49:24kdbLeggyorsabb pénzkeresés (50)cpp11Hibás válasz 8/5054ms14868 KiB
#include <iostream>
#include <vector>
#include <map>
#include <queue>
#include <algorithm>
using namespace std;
#define ll long long

ostream& operator<<(ostream& os, vector<int>& input)
{
    for (auto i : input)
    {
        os << i << " ";
    }
    return os;
}

int main()
{
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios_base::sync_with_stdio(false);
    int n, k, s = 0;
    cin >> n >> k;
    map<int, int>mp;
    vector<int> vec(n);
    for (size_t i = 0; i < n; i++)
    {
        int a;
        cin >> a;
        s += a;
        vec[i] = s;
        mp[s] = i;
    }


    int m = 1000001;
    for (int i = 0; i < n; i++)
    {
       auto it = mp.find(vec[i] + k);
        if (it != mp.end())
        {
            m = min(m, mp[vec[i] + k] - i);
        }
    }
    cout << m << endl;
    return 0;
}
/*
8 11
3 6 4 2 3 7 2 9
-2
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/50
1Elfogadva0/03ms1700 KiB
2Hibás válasz0/052ms12044 KiB
3Hibás válasz0/22ms2072 KiB
4Elfogadva2/22ms2276 KiB
5Hibás válasz0/22ms2352 KiB
6Hibás válasz0/26ms3596 KiB
7Hibás válasz0/26ms3716 KiB
8Hibás válasz0/26ms3936 KiB
9Hibás válasz0/26ms4144 KiB
10Hibás válasz0/26ms4372 KiB
11Elfogadva2/252ms13728 KiB
12Hibás válasz0/252ms13584 KiB
13Hibás válasz0/252ms13836 KiB
14Hibás válasz0/252ms13968 KiB
15Hibás válasz0/254ms13880 KiB
16Hibás válasz0/254ms14220 KiB
17Hibás válasz0/252ms14164 KiB
18Hibás válasz0/252ms14116 KiB
19Hibás válasz0/254ms14348 KiB
20Hibás válasz0/252ms14088 KiB
21Hibás válasz0/254ms14084 KiB
22Hibás válasz0/252ms14084 KiB
23Hibás válasz0/252ms14216 KiB
24Elfogadva2/252ms14552 KiB
25Elfogadva2/254ms14528 KiB
26Hibás válasz0/252ms14864 KiB
27Hibás válasz0/252ms14868 KiB