結果

問題 No.365 ジェンガソート
ユーザー tsubaki961
提出日時 2016-04-30 00:23:04
言語 C90
(gcc 12.3.0)
結果
TLE  
実行時間 -
コード長 581 bytes
コンパイル時間 297 ms
コンパイル使用メモリ 21,888 KB
実行使用メモリ 13,636 KB
最終ジャッジ日時 2024-10-04 23:34:33
合計ジャッジ時間 3,965 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 5 TLE * 1 -- * 35
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:7:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    7 |         scanf("%ld",&i);
      |         ^~~~~~~~~~~~~~~
main.c:10:17: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   10 |                 scanf(" %ld",&a[b]);
      |                 ^~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include<stdio.h>
#include<stdlib.h>
int main()
{
	long int b,i,cnt=0,s,t,j=0,x;
	long int* a;
	scanf("%ld",&i);
	a=(long int*)malloc(sizeof(long int)*(i+1));
	for(b=1;b<=i;b++){
		scanf(" %ld",&a[b]);
	}
	do{
		s=0;
		j=0;
		for(b=1;b<=i;b++){
			if(b==i){
				j=-1;
				break;
			}
			for(x=b+1;x<=i;x++){
				if(a[b]>a[x])j=1;
			}
			if(j==1)break;
		}
		if(j!=-1){
			for(b=2;b<=i;b++){
				if(a[b]<=a[1]&&a[b]>=s){
					s=a[b];
					t=b;
				}
			}
			for(b=t;b>1;b--){
				a[t]=a[t-1];
			}
			a[1]=s;
			cnt++;
		}
	}while(j!=-1);
	free(a);
	printf("%ld",cnt);
	return 0;
}
0