結果

問題 No.5 数字のブロック
ユーザー bonyuta0204bonyuta0204
提出日時 2017-04-13 17:27:42
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 3 ms / 5,000 ms
コード長 809 bytes
コンパイル時間 845 ms
コンパイル使用メモリ 29,568 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-11-18 10:59:30
合計ジャッジ時間 1,154 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
#include <stdlib.h>


int comp( const void *c1, const void *c2 );

int main(void){

    int l, n;
    scanf("%d %d",&l, &n);
    int blocks[n] ;
    int i;
    for (i=0;i<n;i++){
        scanf("%d", &blocks[i]) ;
    }
    // sort blocks
    qsort(blocks, n, sizeof(int), comp);

    for(i=0;i<n;i++){
      //  printf("%d", blocks[i]) ;
    }
    // check if blocks can be accomdated in bocks(L)
    int total = 0;
    int answer;
    for(i=0;i<n;i++){
        total += blocks[i];
        if(total > l){
            break; 
        }
        answer = i + 1;
    }
    printf("%d\n", answer);

}

int comp( const void *c1, const void *c2 )
{
  int tmp1 = *(int *)c1;
  int tmp2 = *(int *)c2;

  if( tmp1 < tmp2 )  return -1;
  if( tmp1 == tmp2 ) return  0;
  if( tmp1 > tmp2 )  return  1;
}
0