답안 #956519

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
956519 2024-04-02T06:39:43 Z ezzzay 세 명의 친구들 (BOI14_friends) C++14
0 / 100
83 ms 6304 KB
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#define int long long
#define pb push_back
#define ff first
#define ss second
const int N=1e5+5;
vector<int>ans;
 
signed main(){
	int n;
	cin>>n;
	
	string s;
	set<char>st;
	cin>>s;
	for(int i=0;i<n;i++)st.insert(s[i]);
	if(st.size()==1){
	    cout<<"NOT UNIQUE";
	    return 0;
	}
	if(n%2==0){
		cout<<"NOT POSSIBLE";
		return 0;
	}
	int l1=0;
	int r1=n/2+1;
	int cnt1=0;
	int u1=0;
	int e1=0;
	while(cnt1!=n/2){
	    if(s[l1]!=s[r1]){
	        l1++;
	        e1=1;
	        u1++;
	        if(u1==2){
	            e1=0;
	            break;
	        }
	    }
	    l1++;
	    r1++;
	    cnt1++;
	}
	int p1=1;
	if(u1==2 and e1==0){
	    p1=0;
	}
	
	reverse(s.begin(),s.end());
	
	int l2=0;
	int r2=n/2+1;
	int cnt2=0;
	int u2=0;
	int e2=0;
	while(cnt2!=n/2){
	    if(s[l2]!=s[r2]){
	        l2++;
	        e2=1;
	        u2++;
	        if(u2==2){
	            e2=0;
	            break;
	        }
	    }
	    l2++;
	    r2++;
	    cnt2++;
	}
	int p2=1;
	if(e1 and e2){
	    cout<<"NOT UNIQUE";
	    return 0;
	}
	
	
	
	
	if(u1==2 and u2==2){
	    cout<<"NOT POSSIBLE";
	    return 0;
	}
	
	
	reverse(s.begin(),s.end());
	if(p1){
	    cout<<s.substr(n/2+1,n/2);
	}
	else{
	    cout<<s.substr(0,n/2);
	}
}

Compilation message

friends.cpp: In function 'int main()':
friends.cpp:73:6: warning: unused variable 'p2' [-Wunused-variable]
   73 |  int p2=1;
      |      ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 1 ms 344 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 348 KB Output is correct
21 Correct 0 ms 348 KB Output is correct
22 Correct 0 ms 348 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Incorrect 0 ms 348 KB Output isn't correct
25 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 79 ms 6304 KB Output is correct
2 Correct 82 ms 5192 KB Output is correct
3 Correct 80 ms 6080 KB Output is correct
4 Correct 83 ms 6224 KB Output is correct
5 Correct 79 ms 4284 KB Output is correct
6 Incorrect 32 ms 5700 KB Output isn't correct
7 Halted 0 ms 0 KB -