Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<map>
- using namespace std;
- string arr;
- int kil;
- map<int, int> mp;
- int recursive(int s, int fuel){
- int ans=2000000000;
- for(int i=s; i<=kil; i++){
- fuel--;
- if(mp[i])
- ans=min(ans, recursive(i+1, fuel)+mp[i]);
- }
- return ans;
- }
- int main(){
- int t;
- cin>>t;
- getline(cin, arr);
- getline(cin, arr);
- for(int i=0; i<t; i++){
- getline(cin, arr);
- kil=0;
- for(int i=0; i<arr.size(); i++){
- kil*=10;
- kil+=arr[i]-'0';
- }
- getline(cin, arr);
- while(!arr.empty()){
- int k=0;
- int first=0, second=0;
- while(arr[k]!=' '){
- first*=10;
- first+=arr[k]-'0';
- k++;
- }
- k++;
- while(k<arr.size()){
- second*=10;
- second+=arr[k]-'0';
- k++;
- }
- mp[first]=second;
- getline(cin, arr);
- }
- cout<<recursive(1, 100)<<'\n';
- mp.clear();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement