# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
398568 | iulia13 | 세 명의 친구들 (BOI14_friends) | C++14 | 86 ms | 4660 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
using namespace std;
const int nmax = 2e6 + 5;
char v[nmax];
int main()
{
int n, i = 1, j = 1, ok = 0;
cin >> n;
if (n % 2 == 0)
{
cout << "NOT POSSIBLE";
return 0;
}
cin >> v + 1;
int skip = 0;
///primele n / 2 sunt suuuper
for (i = n / 2 + 1; i <= n && skip < 2 && j <= n / 2; i++)
{
if (v[i] == v[j])
j++;
else
skip++;
}
if (skip < 2)
ok = 1;
skip = 0;
j = n / 2 + 2;
///ult n / 2 sunt suuuuuuuuuper
for (i = 1; i <= n / 2 + 1 && j <= n && skip < 2; i++)
{
if (v[i] == v[j])
j++;
else
skip++;
}
if (skip < 2)
ok += 2;
if (ok == 3)
{
ok = 1;
for (i = 1; ok && i <= n / 2; i++)
if (v[i] != v[i + n / 2 + 1])
ok = 0;
if (!ok)
{
cout << "NOT UNIQUE";
return 0;
}
}
if (!ok)
{
cout << "NOT POSSIBLE";
return 0;
}
if (ok == 1)
{
for (i = 1; i <= n/ 2; i++)
cout << v[i];
}
else
{
for (i = n / 2 + 2; i <= n; i++)
cout << v[i];
}
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |