[Codeforces] Round #235 (Div. 2)

来源:互联网 发布:ubuntu终端退出全屏 编辑:程序博客网 时间:2024/05/01 09:59

A. Vanya and Cards

题意:把n个数加到一起, 让你求最少用几个y ( -x <= y <= x ), 能与n个数的和平衡。 

#include <stdio.h>int abs(int x){    if(x < 0)        return -x;    return x;}int main(){    int n, x, sum;    while(~scanf("%d %d", &n, &x))    {        sum = 0;        for(int i = 0; i < n; i++)        {            int temp;            scanf("%d", &temp);            sum += temp;        }        sum = abs(sum);        printf("%d\n", (sum + x - 1) / x);    }    return 0;}

B. Sereja and Contests

题意:DIV1 由一个比赛标识组成, DIV2由两个比赛标识组成,并且DIV2的两个比赛标识之差为1。

#include <stdio.h>#include <string.h>int main(){    int n, m, sum, a[4001], count;    while(~scanf("%d %d", &n, &m))    {        memset(a, 0, sizeof(a));        sum = count = 0;        for(int i = 0; i < m; i++)        {            int temp, tmp1, tmp2;            scanf("%d %d", &temp, &tmp1);            a[tmp1] = 1;            if(temp & 1)            {                scanf("%d", &tmp2);                a[tmp2] = 1;                count += 2;            }            else            {                count++;            }        }        for(int i = 1; i < n - 1; i++)        {            if(!a[i] && (!a[i+1]))            {                sum++;                i++;            }        }        printf("%d %d\n", sum + (n-1-count - (sum*2)),  n-count-1);    }    return 0;}


0 0