結果
問題 |
No.135 とりあえず1次元の問題
|
ユーザー |
![]() |
提出日時 | 2015-01-26 01:02:09 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,144 bytes |
コンパイル時間 | 377 ms |
コンパイル使用メモリ | 29,312 KB |
実行使用メモリ | 10,660 KB |
最終ジャッジ日時 | 2025-01-03 03:11:48 |
合計ジャッジ時間 | 24,939 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 6 WA * 13 TLE * 3 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:17:15: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 17 | scanf ( "%d" , &BufNums ); | ~~~~~~^~~~~~~~~~~~~~~~~~~ main.cpp:25:23: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 25 | scanf ( "%d" , &Current); | ~~~~~~^~~~~~~~~~~~~~~~~~
ソースコード
#include <stdio.h> int *pX = nullptr; int N = 0; int GetDiff ( int idx1 , int idx2 ); int main ( void ) { int BufNums; scanf ( "%d" , &BufNums ); pX = new int [ BufNums ]; N = 0; int Current; bool bExistNumber; for ( int i = 0; i < BufNums; i++ ) { scanf ( "%d" , &Current); bExistNumber = false; for ( int j = 0; j < N; j++ ) { if ( Current == *( pX + j ) ) { bExistNumber = true; break; } } if ( bExistNumber == false ) { *( pX + N ) = Current; N++; } } if ( N != 1 ) { int MinNum; int buf; for ( int i = 0; i < (N-1); i++ ) { MinNum = i; for ( int j = i+1; j < N; j++ ) { if ( *( pX + i ) > *( pX + j ) ) MinNum = j; } buf = *( pX + i ); *( pX + i ) = *( pX + MinNum ); *( pX + MinNum ) = buf; } int diff = 0 , diffbuf; diff = *( pX + 0 ) - *( pX + 1 ); if ( diff < 0 )diff *= -1; for ( int i = 1; i < N - 1; i++ ) { diffbuf = *( pX + i ) - *( pX + i + 1 ); if ( diffbuf < 0 )diffbuf *= -1; if ( diff > diffbuf ) diff = diffbuf; } printf ( "%d\n" , diff ); } else { printf ( "0\n" ); } delete []pX; return 0; }