Usaco-barn-repair-pass-kiss

Source: Internet
Author: User

This should be relatively concise. It turns out that it is an interval of the numbers in the m-1 segment. This idea is very interesting:

/*ID: qq104801LANG: C++TASK: barn1*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>/* for debug only:counter*/void debug_dummy(void){    return;}int m,s,c;int bb[200],cc[200];int cmpa(const void *a,const void *b){    return *(int*)a - *(int*)b;}int cmpd(const void *a,const void *b){    return *(int*)b - *(int*)a;}int test(void){    int total,i;        if(m>=s)       return c;    else   {            cc[0]=0;                for(i=1;i<c;i++)            cc[i]=bb[i]-bb[i-1]-1;        qsort(cc,c,sizeof(cc[0]),cmpd);        //for(i=0;i<c;i++)            //printf("%d\n",cc[i]);        total=bb[i-1]-bb[0]+1;        //printf("%d\n",total);       for(int i=0;i<m-1;i++)                   total-=cc[i];                  }   return total;    }main () {        FILE *fin = fopen ("barn1.in", "r");    FILE *fout = fopen ("barn1.out", "w");     fscanf(fin,"%d %d %d",&m,&s,&c);    for(int i=0;i<c;i++)    {        fscanf(fin,"%d",&bb[i]);    }    qsort(bb,c,sizeof(bb[0]),cmpa);    int count=0;    count=test();    //printf("%d\n",count);    fprintf(fout,"%d\n",count);        fclose(fin);    fclose(fout);    exit (0);}

Test cases:

USER: ll tom [qq104801]TASK: barn1LANG: C++Compiling...Compile: OKExecuting...   Test 1: TEST OK [0.005 secs, 3496 KB]   Test 2: TEST OK [0.003 secs, 3496 KB]   Test 3: TEST OK [0.003 secs, 3496 KB]   Test 4: TEST OK [0.005 secs, 3496 KB]   Test 5: TEST OK [0.008 secs, 3496 KB]   Test 6: TEST OK [0.003 secs, 3496 KB]   Test 7: TEST OK [0.003 secs, 3496 KB]   Test 8: TEST OK [0.008 secs, 3496 KB]   Test 9: TEST OK [0.003 secs, 3496 KB]   Test 10: TEST OK [0.003 secs, 3496 KB]All tests OK.Your program (‘barn1‘) produced all correct answers! This is your submission #2 for this problem. Congratulations!Here are the test data inputs:------- test 1 ----4 50 17346814151617252627303140414243------- test 2 ----2 10 42468------- test 3 ----3 27 1623568910131415161920212227------- test 4 ----1 200 810110510210610310710499------- test 5 ----50 200 10186919538732861725399------- test 6 ----50 30 630252015105------- test 7 ----20 200 8065178647018328890982015231118117127811757313616116563130133190104138200431893786182145110671261141539925155119176554819762147125601223112962712235503649149108100188771916121166132829515089224012856------- test 8 ----4 200 1007218046198196131165112521331879357351286512713012498815512219310116498143541493884451397916102201415018833176135298019741111495185137593218966671919177134181072008135524142184176109105431818594151160115251161113710414497901411201191521821231724023------- test 9 ----20 195 10012345111213141521222324253132333435414243444551525354556162636465717273747581828384859192939495101102103104105111112113114115121122123124125131132133134135141142143144145151152153154155161162163164165171172173174175181182183184185191192193194195------- test 10 ----1 200 21200Keep up the good work!Thanks for your submission!

 

Usaco-barn-repair-pass-kiss

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.