제출 #9459

#제출 시각아이디문제언어결과실행 시간메모리
9459eternalklausUniting (kriii2_U)C++98
0 / 4
0 ms1476 KiB
#include <stdio.h>

int arr[100000];

int main()
{
	int n,i,j,index;
	int tmp;
	int ttmp;
	int sum=0;
	long long nu=1;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		index=0;
		scanf("%d",&tmp);
		while(tmp<arr[index]&&index<i)
			index++;
		//index++자리에 인서트.

		for(j=i-1;j>=index;j--)
			arr[j+1]=arr[j];
		arr[index]=tmp;

	}
	for(i=0;i<n-1;i++)
	{
		sum+=arr[i]*arr[i+1];
		if(arr[i]!=arr[i+1])
			nu=nu*2;
		
		index=i+1;
		arr[i+1]=arr[i]+arr[i+1]; 
		
		ttmp=arr[i+1];

		//i+1에서 n까지 쏘팅!!!

		for(j=i+2;j<n;j++)
		{
			if(ttmp<arr[j])
				index++;
		}
		for(j=i+2;j<index;j++)
		{
			arr[j-1]=arr[j];
		}
		arr[index]=ttmp;
	}
	printf("%d",sum);
	printf("%ld\n",nu%1000000007);
}
#Verdict Execution timeMemoryGrader output
Fetching results...