Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define ll long long
- using namespace std;
- bool cmp(pair<int,int> a, pair<int,int> b) {
- return a.second<b.second;
- }
- ll add(ll a, ll b, ll MOD = 1e9 ) {
- return ((a % MOD) + (b % MOD)) % MOD;
- }
- ll sub(ll a, ll b, ll MOD = 1e9 ) {
- return (((a - b) % MOD) + MOD) % MOD;
- }
- int main() {
- ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
- int n,k;
- cin >> n >> k;
- string s;
- cin >> s;
- int q=0;
- for (int i=0; i<n; i++) {
- if (s[i]=='o') k--;
- if (s[i]=='?') q++;
- }
- for (int i=0; i<n; i++) {
- if (s[i]=='?') {
- if (i&&s[i-1]=='o' || i<n-1 && s[i+1]=='o') {
- s[i]='.';
- q--;
- }
- }
- }
- if (k==0) {
- for (int i=0; i<n; i++) {
- if (s[i]=='?') {
- s[i]='.';
- }
- }
- }
- // if (q==k) {
- // for (int i=0; i<n; i++) {
- // if (s[i]=='?') {
- // s[i]='o';
- // }
- // }
- // }
- int x=0;
- int qq=0;
- for (int i=0; i<n; i++) {
- if (s[i]=='?') {
- x++;
- }
- if (x && s[i]!='?') {
- qq+=(x+1)/2;
- x=0;
- }
- }
- if (x) qq+=(x+1)/2;
- if (qq==k) {
- for (int i=0; i<n; i++) {
- if (s[i]=='?') x++;
- else if (x%2){
- int j=i;
- while (x--) {
- j--;
- if (x%2) s[j]='.';
- else s[j]='o';
- }
- x=0;
- }
- }
- }
- if (x%2){
- int j=n;
- while (x--) {
- j--;
- if (x%2) s[j]='.';
- else s[j]='o';
- }
- }
- cout << s;
- }
Advertisement
Add Comment
Please, Sign In to add comment