#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(NULL);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
string s;
cin>>s;
vector<int>pr(n),sf(n);
for(int i=1; i<n; i++)
pr[i]=pr[i-1]+(s[i-1]=='P'?1:0);
for(int i=n-2; i>=0; i--)
sf[i]=sf[i+1]+(s[i+1]=='L'?1:0);
for(int i=0; i<n; i++)
if(s[i]=='L')
if(pr[i]>sf[i])
cout<<sf[i]*2+1<<" ";
else
cout<<min(pr[i],sf[i])*2<<" ";
else
if(sf[i]>pr[i])
cout<<pr[i]*2+1<<" ";
else
cout<<min(pr[i],sf[i])*2<<" ";
cout<<"\n";
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); int n; cin>>n; string s; cin>>s; vector<int>pr(n),sf(n); for(int i=1; i<n; i++) pr[i]=pr[i-1]+(s[i-1]=='P'?1:0); for(int i=n-2; i>=0; i--) sf[i]=sf[i+1]+(s[i+1]=='L'?1:0); for(int i=0; i<n; i++) if(s[i]=='L') if(pr[i]>sf[i]) cout<<sf[i]*2+1<<" "; else cout<<min(pr[i],sf[i])*2<<" "; else if(sf[i]>pr[i]) cout<<pr[i]*2+1<<" "; else cout<<min(pr[i],sf[i])*2<<" "; cout<<"\n"; } |
English