結果
問題 |
No.4 おもりと天秤
|
ユーザー |
![]() |
提出日時 | 2020-01-10 00:58:09 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 957 bytes |
コンパイル時間 | 1,431 ms |
コンパイル使用メモリ | 28,928 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-23 05:12:15 |
合計ジャッジ時間 | 1,072 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 WA * 11 |
ソースコード
#include <stdio.h> #include <stdlib.h> int compare_int(const void *a, const void *b) { return *(int*)a - *(int*)b; } int main() { int n,w[100],i,j,sum = 0,sumw[101] = {0}; scanf("%d",&n); for (i = 0; i < n; i++) { scanf("%d",&w[i]); sum += w[i]; } if(sum % 2 == 0) { sum /= 2; qsort(w,n,sizeof(int),compare_int); for (i = 0; i < n; i++) { sumw[i + 1] = w[i] + sumw[i]; } if(sum < w[0]) { printf("impossible\n"); } else { for (i = n; i > 0; i--) { if(sum > sumw[i]) { sum -= w[i + 1]; if(sum == 0)break; } } if(i == 0)printf("impossible\n"); else printf("possible\n"); } } else { printf("impossible\n"); } }