Submission #535120

#TimeUsernameProblemLanguageResultExecution timeMemory
535120new_accThree Friends (BOI14_friends)C++14
0 / 100
63 ms9028 KiB
#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
const int N=2e6+10;
string s;
void solve(){
	int n;
	cin>>n;
	cin>>s;
	string s1,s2;
	if(n%2==0){
		cout<<"NOT POSSIBLE\n";
		return;
	}
	for(int i=0;i<n/2;i++) s1+=s[i];
	for(int i=n/2+1;i<s.size();i++) s2+=s[i];
	bool ok=1,byl=0,ile=0;
	int wsk=0;
	for(int i=n/2;i<s.size();i++){
		if(wsk==s1.size()) break;
		if(s[i]==s1[wsk]) wsk++;
		else{
			if(byl) ok=0;
			else byl=1;
		}
	}
	if(ok) ile=1;
	wsk=0,ok=1,byl=0;
	for(int i=0;i<=n/2;i++){
		if(wsk==s2.size()) break;
		if(s[i]==s2[wsk]) wsk++;
		else{
			if(byl) ok=0;
			else byl=1;
		}
	}
	if(ok and ile) cout<<"NOT UNIQUE\n";
	else{
		if(ok) cout<<s2<<"\n";
		else{
			if(ile) cout<<s1<<"\n";
			else cout<<"NOT POSSIBLE\n";
		}
	}
}
int main(){
	solve();
}

Compilation message (stderr)

friends.cpp: In function 'void solve()':
friends.cpp:20:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |  for(int i=n/2+1;i<s.size();i++) s2+=s[i];
      |                  ~^~~~~~~~~
friends.cpp:23:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |  for(int i=n/2;i<s.size();i++){
      |                ~^~~~~~~~~
friends.cpp:24:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |   if(wsk==s1.size()) break;
      |      ~~~^~~~~~~~~~~
friends.cpp:34:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |   if(wsk==s2.size()) break;
      |      ~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...