Submission #841971

# Submission time Handle Problem Language Result Execution time Memory
841971 2023-09-02T09:31:36 Z manizare Three Friends (BOI14_friends) C++14
100 / 100
18 ms 11444 KB
#include <bits/stdc++.h> 

#define int long long 
#define pb push_back
#define F first
#define S second 
#define all(a) a.begin(),a.end()
#define pii pair <int,int> 
#define int long long
using namespace std ;
mt19937 rng(time(0)) ;

const int maxn = 2e6 + 10 , pr[] = {71 , 73}; 

int sl(string a, string b){
  int x = -1 ;
  for(int i =0 ; i < a.size()-1 ; i++){
    if(a[i] != b[i])break ;
    x++;
  }
  int y = a.size() ; 
  for(int i= a.size() - 1; i >= 1;  i--){
    if(a[i] != b[i-1])break; 
    y--;
  }
  if(y-x <= 2){
    return 1; 
  }
  return 0 ;
}


signed main(){
  ios_base::sync_with_stdio(false); cin.tie(NULL);
  int n ;
  string s;
  cin >> n >> s ;
  if(n % 2==0){
    cout << "NOT POSSIBLE\n";
    return 0 ;
  }
  s = " " + s; 
  string a1 , b1 , a2 ,b2 ;
  for(int i = 1; i <= n/2 ;i++){
    b2 += s[i] ;
    a1 += s[i] ;
  }
  a1 += s[n/2 +1] ;
  for(int i =n/2+2 ; i <= n; i++){
    b1 += s[i] ;
    a2 += s[i] ;
  }
  a2 = s[n/2+1] + a2 ;
  int x = sl(a1 , b1)  , y = sl(a2 , b2); 
  if(x==0 && y == 0){
    cout << "NOT POSSIBLE\n";
    return 0 ;
  }
  if(x==1 && y==1 && b1 != b2){
    cout << "NOT UNIQUE\n";
    return 0 ;
  }
  if(x==1){
    cout << b1 << "\n" ;
  }else{
    cout << b2 << "\n" ;
  }
}

Compilation message

friends.cpp: In function 'long long int sl(std::string, std::string)':
friends.cpp:17:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |   for(int i =0 ; i < a.size()-1 ; i++){
      |                  ~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 600 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 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 0 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 1 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct
21 Correct 1 ms 348 KB Output is correct
22 Correct 0 ms 348 KB Output is correct
23 Correct 1 ms 348 KB Output is correct
24 Correct 1 ms 348 KB Output is correct
25 Correct 1 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Correct 1 ms 348 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 0 ms 348 KB Output is correct
32 Correct 0 ms 348 KB Output is correct
33 Correct 0 ms 348 KB Output is correct
34 Correct 0 ms 348 KB Output is correct
35 Correct 0 ms 348 KB Output is correct
36 Correct 0 ms 348 KB Output is correct
37 Correct 0 ms 348 KB Output is correct
38 Correct 0 ms 348 KB Output is correct
39 Correct 1 ms 348 KB Output is correct
40 Correct 0 ms 348 KB Output is correct
41 Correct 0 ms 348 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 1 ms 348 KB Output is correct
44 Correct 0 ms 348 KB Output is correct
45 Correct 1 ms 348 KB Output is correct
46 Correct 0 ms 348 KB Output is correct
47 Correct 1 ms 348 KB Output is correct
48 Correct 0 ms 348 KB Output is correct
49 Correct 1 ms 348 KB Output is correct
50 Correct 0 ms 348 KB Output is correct
51 Correct 0 ms 348 KB Output is correct
52 Correct 0 ms 348 KB Output is correct
53 Correct 0 ms 348 KB Output is correct
54 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 11352 KB Output is correct
2 Correct 15 ms 11352 KB Output is correct
3 Correct 15 ms 11352 KB Output is correct
4 Correct 18 ms 11444 KB Output is correct
5 Correct 15 ms 11304 KB Output is correct
6 Correct 3 ms 2556 KB Output is correct
7 Correct 17 ms 11352 KB Output is correct
8 Correct 13 ms 7708 KB Output is correct
9 Correct 15 ms 8736 KB Output is correct
10 Correct 12 ms 8732 KB Output is correct
11 Correct 12 ms 7328 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 1 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 1 ms 348 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Correct 0 ms 348 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 0 ms 348 KB Output is correct
32 Correct 0 ms 348 KB Output is correct
33 Correct 0 ms 348 KB Output is correct
34 Correct 0 ms 348 KB Output is correct
35 Correct 1 ms 348 KB Output is correct
36 Correct 0 ms 348 KB Output is correct
37 Correct 0 ms 348 KB Output is correct
38 Correct 0 ms 348 KB Output is correct
39 Correct 0 ms 348 KB Output is correct
40 Correct 0 ms 348 KB Output is correct
41 Correct 0 ms 348 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 0 ms 348 KB Output is correct
44 Correct 1 ms 456 KB Output is correct
45 Correct 0 ms 348 KB Output is correct
46 Correct 0 ms 348 KB Output is correct
47 Correct 0 ms 348 KB Output is correct
48 Correct 0 ms 464 KB Output is correct
49 Correct 1 ms 348 KB Output is correct
50 Correct 0 ms 348 KB Output is correct
51 Correct 1 ms 348 KB Output is correct
52 Correct 0 ms 348 KB Output is correct
53 Correct 0 ms 348 KB Output is correct
54 Correct 1 ms 348 KB Output is correct