| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 9507 | eternalklaus | Uniting (kriii2_U) | C++98 | 0 ms | 1476 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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+2; //주제는 i+1이야. 그러니 i+2에서부터 비교해야지.
		arr[i+1]=arr[i]+arr[i+1]; 
		
		ttmp=arr[i+1];
		//i+1에서 n까지 쏘팅!!!
		while(ttmp>arr[index]&&index<n-1)
			index++;
		//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 time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
