結果
| 問題 | No.135 とりあえず1次元の問題 |
| コンテスト | |
| ユーザー |
HiroakiSoftware
|
| 提出日時 | 2015-01-25 23:42:28 |
| 言語 | C++11 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,079 bytes |
| 記録 | |
| コンパイル時間 | 164 ms |
| コンパイル使用メモリ | 40,320 KB |
| 実行使用メモリ | 18,048 KB |
| 最終ジャッジ日時 | 2026-06-06 14:38:50 |
| 合計ジャッジ時間 | 13,134 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 2 |
| other | TLE * 1 -- * 21 |
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:40:16: warning: 'diff' may be used uninitialized [-Wmaybe-uninitialized]
40 | printf ( "%d\n" , diff );
| ~~~~~~~^~~~~~~~~~~~~~~~~
main.cpp:19:13: note: 'diff' was declared here
19 | int diff , diffbuf;
| ^~~~
ソースコード
#include <stdio.h>
int *pX = nullptr;
int N = 0;
int GetDiff ( int idx1 , int idx2 );
int main ( void ) {
scanf ( "%d" , &N );
pX = new int [ N ];
int diff , diffbuf;
for ( int i = 0; i < N; i++ ) {
scanf ( "%d" , pX + i );
}
for ( int i = 0; i < ( N - 1 ); i++ ) {
if ( i == 0 ) {
diff = GetDiff ( i , i + 1 );
} else {
diffbuf = GetDiff ( i , i + 1 );
if ( diffbuf < diff ) diff = diffbuf;
}
}
delete []pX;
printf ( "%d\n" , diff );
return 0;
}
int GetDiff ( int idx1 , int idx2 ) {
bool bEnableCurrent = false;
int Current;
if ( *( pX + idx1 ) != *( pX + idx2 ) ) {
bEnableCurrent = true;
Current = *( pX + idx1 ) - *( pX + idx2 );
if ( Current < 0 ) Current *= -1;
}
int diff= -1 , diffbuf;
for ( int i = idx2 + 1; i < N; i++ ) {
if ( i == ( idx2 + 1 ) ) {
diff = GetDiff ( idx1 , i );
} else {
diffbuf = GetDiff ( idx1 , i );
if ( diffbuf < diff ) diff = diffbuf;
}
}
if ( bEnableCurrent ) {
if (diff != -1 )return ( Current < diff ) ? Current : diff;
return Current;
}
return diff;
}
HiroakiSoftware