Submission #12152

# Submission time Handle Problem Language Result Execution time Memory
12152 2014-12-21T11:20:32 Z gs13105 전선 연결하기 (GA9_wire) C++
0 / 100
0 ms 6516 KB
#include <stdio.h>
#include <stack>

std::stack<int> s1;
std::stack<int> s2;
int arr[600001];
int idx[300001][2];
char res[600002];

int main()
{
	int n,x,i,j;
	scanf("%d",&n);
	for(i=1;i<=2*n;i++)
	{
		scanf("%d",&arr[i]);
		idx[arr[i]][!!idx[arr[i]][0]]=i;
	}
	s1.push(2*n+1);
	s2.push(2*n+1);
	for(i=1;i<=2*n;i++)
	{
		if(s1.top()==i)
			s1.pop();
		if(s2.top()==i)
			s2.pop();
		if(res[i])
			continue;
		x=idx[arr[i]][1];
		if(x<s1.top())
		{
			s1.push(x);
			res[i]=res[x]='^';
		}
		else if(x<s2.top())
		{
			s2.push(x);
			res[i]=res[x]='v';
		}
		else
		{
			printf("IMPOSSIBLE");
			return 0;
		}
	}
	printf("%s",res+1);
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 6516 KB Output is correct
2 Correct 0 ms 6516 KB Output is correct
3 Incorrect 0 ms 6516 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Halted 0 ms 0 KB -