C/C++の宿題を片付けます 105代目
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
350:デフォルトの名無しさん 08/04/23 00:30:17 >>348 ありがとうございます。 本当に助かりました。 351:デフォルトの名無しさん 08/04/23 00:40:45 いや、助かってないでしょw 解法が違う以外にも、intが32bitじゃ足りないし。 352:348 08/04/23 00:52:43 >>347 解法無視してたので訂正版 >>351 >>349 の指摘している場合分けのおかげで正しい答えがでる #include<stdio.h> #define N 1000000 int main(void){ int min,max,mid; int count1,count2; int data,i; FILE *fp; fp=fopen("bdata.txt", "r"); if(fp==NULL) return 1; min=1; max=N; while(min<max){ mid=(min+max)/2; count1=count2=0; fseek(fp, 0L, SEEK_SET); for(i=0;i<N-1;i++){ fscanf(fp, "%d", &data); if(data>=min && data<=max){ if(data<=mid) count1++; else count2++; } } if(count1<mid-min+1) max=mid; else min=mid+1; } fclose(fp); printf("%d\n", max); return 0; }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5302日前に更新/147 KB
担当:undef