11517 | 2024-10-16 19:04:39 | chucknorris | 2015. november | cpp17 | Elfogadva | 225ms | 6768 KiB |
#include <bits/stdc++.h>
#define INF 1000000007
using namespace std;
int N, K, poz;
vector<int>bal, jobb;
int main(){
cin >> N >> K;
poz = 0;
for(int i = 1; i <= N; i++){
int lepes;
char irany;
cin >> lepes >> irany;
if(irany == 'R'){
bal.push_back(poz + 1); jobb.push_back(poz + lepes);
poz = poz + lepes;
}
else{
bal.push_back(poz - lepes); jobb.push_back(poz - 1);
poz = poz - lepes;
}
}
sort(bal.begin(), bal.end());
sort(jobb.begin(), jobb.end());
long long ans = 0;
int cnt = 0, i = 0, j = 0, start = 1e9;
while(i < N or j < N){
if(i < N and bal[i] <= jobb[j]){
cnt = cnt + 1;
if(cnt == K) start = bal[i];
i = i + 1;
}
else{
if(cnt == K and start != INF) {
ans = ans + (jobb[j] - start + 1);
start = INF;
}
cnt = cnt - 1; j = j + 1;
}
}
cout << ans;
return 0;
}
6
Elvárt kimenet:6
Ellenőrző kimenete:ok 1 number(s): "6"
1997031047
Elvárt kimenet:1997031047
Ellenőrző kimenete:ok 1 number(s): "1997031047"
1994299081
Elvárt kimenet:1994299081
Ellenőrző kimenete:ok 1 number(s): "1994299081"
1992381668
Elvárt kimenet:1992381668
Ellenőrző kimenete:ok 1 number(s): "1992381668"
1999133839
Elvárt kimenet:1999133839
Ellenőrző kimenete:ok 1 number(s): "1999133839"
1997221669
Elvárt kimenet:1997221669
Ellenőrző kimenete:ok 1 number(s): "1997221669"
1997415382
Elvárt kimenet:1997415382
Ellenőrző kimenete:ok 1 number(s): "1997415382"
1995739072
Elvárt kimenet:1995739072
Ellenőrző kimenete:ok 1 number(s): "1995739072"
1999149840
Elvárt kimenet:1999149840
Ellenőrző kimenete:ok 1 number(s): "1999149840"
1997981017
Elvárt kimenet:1997981017
Ellenőrző kimenete:ok 1 number(s): "1997981017"
1999532360
Elvárt kimenet:1999532360
Ellenőrző kimenete:ok 1 number(s): "1999532360"
1997082343
Elvárt kimenet:1997082343
Ellenőrző kimenete:ok 1 number(s): "1997082343"
1999526630
Elvárt kimenet:1999526630
Ellenőrző kimenete:ok 1 number(s): "1999526630"
1998589395
Elvárt kimenet:1998589395
Ellenőrző kimenete:ok 1 number(s): "1998589395"
1997318421
Elvárt kimenet:1997318421
Ellenőrző kimenete:ok 1 number(s): "1997318421"
1979224845
Elvárt kimenet:1979224845
Ellenőrző kimenete:ok 1 number(s): "1979224845"
1991997984
Elvárt kimenet:1991997984
Ellenőrző kimenete:ok 1 number(s): "1991997984"
1999545973
Elvárt kimenet:1999545973
Ellenőrző kimenete:ok 1 number(s): "1999545973"
1985759896
Elvárt kimenet:1985759896
Ellenőrző kimenete:ok 1 number(s): "1985759896"
1998064428
Elvárt kimenet:1998064428
Ellenőrző kimenete:ok 1 number(s): "1998064428"
1995292369
Elvárt kimenet:1995292369
Ellenőrző kimenete:ok 1 number(s): "1995292369"
1996368765
Elvárt kimenet:1996368765
Ellenőrző kimenete:ok 1 number(s): "1996368765"
1994572365
Elvárt kimenet:1994572365
Ellenőrző kimenete:ok 1 number(s): "1994572365"
1998851953
Elvárt kimenet:1998851953
Ellenőrző kimenete:ok 1 number(s): "1998851953"
1994600921
Elvárt kimenet:1994600921
Ellenőrző kimenete:ok 1 number(s): "1994600921"
1999348488
Elvárt kimenet:1999348488
Ellenőrző kimenete:ok 1 number(s): "1999348488"
1998414563
Elvárt kimenet:1998414563
Ellenőrző kimenete:ok 1 number(s): "1998414563"
1996478400
Elvárt kimenet:1996478400
Ellenőrző kimenete:ok 1 number(s): "1996478400"
1995753429
Elvárt kimenet:1995753429
Ellenőrző kimenete:ok 1 number(s): "1995753429"
1984640026
Elvárt kimenet:1984640026
Ellenőrző kimenete:ok 1 number(s): "1984640026"
1994383789
Elvárt kimenet:1994383789
Ellenőrző kimenete:ok 1 number(s): "1994383789"