Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
//#include
using namespace std; const int INF = 1e8; void swap_characters(int S, int E, string & str) { if(S < E) { char c = str[S]; for(int i = S; i < E; i++) { str[i] = str[i + 1]; } str[E] = c; } else { char c = str[S]; for(int i = S; i > E; i--) { str[i] = str[i - 1]; } str[E] = c; } } int main() { ios_base::sync_with_stdio(false); int n; cin >> n; string s; cin >> s; vector
cnt(26, 0); for(int i = 0; i < n; i++) { cnt[s[i] - 'a']++; } int odd = 0; for(int i = 0; i < 26; i++) { if(cnt[i] % 2 == 1) { odd++; } } if(odd > 1) { cout << "GRESHKA" << endl; return 0; } int res = 0; for(int i = 0; i < n / 2; i++) { if(s[i] != s[n - i - 1]) { int E = INF; int S = -INF; for(int j = i + 1; j < n - i - 1; j++) { if(s[j] == s[n - i - 1]) { E = j; break; } } for(int j = n - i - 2; j > i; j--) { if(s[j] == s[i]) { S = j; break; } } if(E - i < n - i - 1 - S) { swap_characters(E, i, s); res += E - i; } else { swap_characters(S, n - i - 1, s); res += n - i - 1 - S; } } } cout << res << endl; return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)