Submission #926222

#TimeUsernameProblemLanguageResultExecution timeMemory
926222jpfr12Lollipop (POI11_liz)C++17
40 / 100
2068 ms2952 KiB
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#include <set>
#include <string>
#include <map>
#include <math.h>
#include <cmath>
#include <climits>
#include <unordered_map>
#include <unordered_set>
#include <assert.h>
#include <fstream>
#include <bitset>
#include <iomanip>
 
typedef long long ll;
typedef unsigned long long int ull;
using namespace std;
int MOD = (int)1e9+7;
int MAXN = 1e6;
 
//classes

 
 
//global
int n, k;
string str;

string sol(int& cost){
  int sum = 0;
  int left = 0;
  for(int right = 0; right < n; right++){
    sum += (str[right] == 'T'? 2: 1);
    while(sum > cost){
      sum -= (str[left] == 'T' ? 2: 1);
      left++;
    }
    if(sum == cost){
      string ans = "";
      ans += to_string(left+1) +" "+ to_string(right+1);
      return ans;
    }
  }
  return "NIE";
}

int main(){
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  //ifstream fin("hps.in");
  //ofstream fout("hps.out");
  //stop
  cin >> n >> k >> str;
  while(k--){
    int cost;
    cin >> cost;
    cout << sol(cost) << '\n';
  }
 
  return 0;
} 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...