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 |
|
|
| 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 |