Submission #70613347


Source Code Expand

#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#ifdef jlocal
#include<jdebug/debug.hpp>
#else
#define debug(...) 0;
#endif

using namespace __gnu_pbds;
using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef pair<int,int> pii;
typedef vector<pii> vii;
template <typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

#if defined(__LP64__) || defined(_WIN64)
typedef __int128 lll;
#else
typedef long long lll;
#endif

#define pcount(x) __builtin_popcount(x)
#define pcountll(x) __builtin_popcountll(x)
#define all(x) x.begin(),x.end()

const ld pi = 3.14159265358979323846L;
const ld sqrt2 = 1.41421356237309504880L;

template<class T>
istream& operator>>(istream& in, vector<T> &a){
	for (int i = 0; i < a.size(); i ++)
		in >> a[i];
	return in;
}

template<class T>
ostream& operator<<(ostream& out, vector<T> &a){
	for (int i = 0; i < a.size(); i ++){
		if (i > 0) out << ' ';
		out << a[i];
	}
	return out;
}

#if defined(__LP64__) || defined(_WIN64)

istream& operator>>(istream& in, __int128 &x){
	string S;
	in >> S;
	for (char &y : S){
		x *= 10;
		x += (y - '0');
	}
	return in;
}

ostream& operator<<(ostream& out, __int128 &x){
	string s;
	while(x > 0){
		s.push_back((x % 10) + '0');
		x /= 10;
	}
	if (s.size() == 0)
		s.push_back('0');
	reverse(all(s));
	return out << s;
}

#endif

mt19937_64 MT64;
void pre_init() {
	MT64 = mt19937_64(chrono::system_clock::now().
	time_since_epoch().count());
}

void solve(int caso){
	int n;
	cin >> n;
	string S;
	cin >> S;
	vector<int> ans(n + 1);
	vector<int> lefts1(n), rights1(n), lefts2(n), rights2(n);

	for (int i = 0; i + 1 < n; i ++){
		if (S[i] == 'R'){
			lefts1[i + 1] = 1 + lefts1[i];
		}
		else if (S[i] == 'L'){
			rights1[i + 1] = 1 + rights1[i];
		}
	}
	for (int i = n - 2; i >= 0; i --){
		if (S[i] == 'R'){
			rights2[i] = 1 + rights2[i + 1];
		}
		else{
			lefts2[i] = 1 + lefts2[i + 1];
		}
	}

	for (int i = 0; i < n; i ++){
		int l = lefts1[i] + lefts2[i];
		int r = rights1[i] + rights2[i];
		int left = l;
		int right = n - 1 - r;
		debug(i + 1, left, right);
		ans[left] ++;
		ans[right + 1] --;
	}
	for (int i = 1; i < n; i ++){
		ans[i] += ans[i - 1];
	}
	for (int i = 0; i < n; i ++){
		if (i > 0) cout << ' ';
		cout << ans[i];
	}
	cout << '\n';
}

int main(){
#ifndef jlocal
	ios::sync_with_stdio(0); cin.tie(0);
#endif
	pre_init();

	int t;
	cin >> t;
	for (int i = 1; i <= t; i ++){
		solve(i);
	}
	return 0;
}

Submission Info

Submission Time
Task F - Back and Forth Filling
User JOliva
Language C++23 (GCC 15.2.0)
Score 500
Code Size 2709 Byte
Status AC
Exec Time 16 ms
Memory 9848 KiB

Compile Error

./Main.cpp: In function 'void solve(int)':
./Main.cpp:8:20: warning: statement has no effect [-Wunused-value]
    8 | #define debug(...) 0;
      |                    ^
./Main.cpp:112:17: note: in expansion of macro 'debug'
  112 |                 debug(i + 1, left, right);
      |                 ^~~~~
./Main.cpp:82:16: warning: unused parameter 'caso' [-Wunused-parameter]
   82 | void solve(int caso){
      |            ~~~~^~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 69
Set Name Test Cases
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3468 KiB
test_01.txt AC 1 ms 3644 KiB
test_02.txt AC 1 ms 3516 KiB
test_03.txt AC 1 ms 3596 KiB
test_04.txt AC 1 ms 3436 KiB
test_05.txt AC 1 ms 3416 KiB
test_06.txt AC 1 ms 3596 KiB
test_07.txt AC 1 ms 3628 KiB
test_08.txt AC 1 ms 3560 KiB
test_09.txt AC 1 ms 3416 KiB
test_10.txt AC 1 ms 3524 KiB
test_11.txt AC 1 ms 3596 KiB
test_12.txt AC 1 ms 3416 KiB
test_13.txt AC 2 ms 3472 KiB
test_14.txt AC 3 ms 3692 KiB
test_15.txt AC 6 ms 3468 KiB
test_16.txt AC 12 ms 3588 KiB
test_17.txt AC 13 ms 9720 KiB
test_18.txt AC 13 ms 9636 KiB
test_19.txt AC 13 ms 9664 KiB
test_20.txt AC 13 ms 9816 KiB
test_21.txt AC 13 ms 9820 KiB
test_22.txt AC 12 ms 9768 KiB
test_23.txt AC 12 ms 9744 KiB
test_24.txt AC 13 ms 9848 KiB
test_25.txt AC 14 ms 3596 KiB
test_26.txt AC 14 ms 3568 KiB
test_27.txt AC 12 ms 3724 KiB
test_28.txt AC 12 ms 3516 KiB
test_29.txt AC 13 ms 3756 KiB
test_30.txt AC 13 ms 3716 KiB
test_31.txt AC 15 ms 3676 KiB
test_32.txt AC 15 ms 3716 KiB
test_33.txt AC 15 ms 6664 KiB
test_34.txt AC 15 ms 6768 KiB
test_35.txt AC 15 ms 9640 KiB
test_36.txt AC 16 ms 9664 KiB
test_37.txt AC 16 ms 9668 KiB
test_38.txt AC 15 ms 9824 KiB
test_39.txt AC 15 ms 9652 KiB
test_40.txt AC 15 ms 9668 KiB
test_41.txt AC 15 ms 9720 KiB
test_42.txt AC 14 ms 9640 KiB
test_43.txt AC 14 ms 9660 KiB
test_44.txt AC 14 ms 9840 KiB
test_45.txt AC 14 ms 9640 KiB
test_46.txt AC 14 ms 9844 KiB
test_47.txt AC 14 ms 9848 KiB
test_48.txt AC 13 ms 9716 KiB
test_49.txt AC 14 ms 9720 KiB
test_50.txt AC 15 ms 9748 KiB
test_51.txt AC 14 ms 9844 KiB
test_52.txt AC 14 ms 9636 KiB
test_53.txt AC 13 ms 9636 KiB
test_54.txt AC 14 ms 9844 KiB
test_55.txt AC 15 ms 9660 KiB
test_56.txt AC 14 ms 9656 KiB
test_57.txt AC 14 ms 9744 KiB
test_58.txt AC 14 ms 9768 KiB
test_59.txt AC 14 ms 9840 KiB
test_60.txt AC 14 ms 9640 KiB
test_61.txt AC 14 ms 9644 KiB
test_62.txt AC 14 ms 9668 KiB
test_63.txt AC 14 ms 9828 KiB
test_64.txt AC 14 ms 9668 KiB
test_65.txt AC 14 ms 9828 KiB
test_66.txt AC 14 ms 9820 KiB
test_67.txt AC 14 ms 9744 KiB
test_68.txt AC 14 ms 9716 KiB