Submission #1316399

#TimeUsernameProblemLanguageResultExecution timeMemory
1316399turralRace (IOI11_race)C++20
9 / 100
26 ms6932 KiB
#include "race.h"
#include <iostream>
#include <vector>
#include <unordered_map>


using namespace std;


#define int long long


const int INF = 3e18;

signed best_path(signed N, signed K, signed H[][2], signed L[]){
  vector<int> pref(N);
  pref[0] = L[0];
  for (int i=1; i<N; ++i){
    pref[i] = pref[i-1]+L[i];
  }
  
  unordered_map<int,int> dists; dists[0]=-1;
  int res = INF;
  for (int i=0; i<N; ++i){
    int sum = pref[i]; // sum - d = K
    
    if (dists.count(sum-K)){
      res = min(res, i - dists[sum-K]);
    }
    dists[sum] = i;
  }
  
  res = (res == INF ? -1 : res);
  return res;
}


/*

signed main(){
    signed N, K; cin >> N >> K;
    signed H[N-1][2];
    signed L[N];
    for (int i=0; i<N-1; ++i){
        cin >> H[i][0] >> H[i][1] >> L[i];
    }


    cout << best_path(N, K, H, L) << '\n';
    return 0;
}

*/
/*
4 5
0 1 3
1 2 1
1 3 4
-1
*/



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...