CodeForces546B Soldier and Badges 解题报告

Posted louhancheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces546B Soldier and Badges 解题报告相关的知识,希望对你有一定的参考价值。

最近忙。。。先上代码吧。。。有空继续写题解。。。

#include<cstdio>
#include<queue>
using namespace std;
#define MAXN 3005

int n, ans, t, s;
int nn;
int a[MAXN * 2];

int main(){
    scanf( "%d", &n );
    for ( int i = 1; i <= n; ++i ) scanf( "%d", &t ), a[t]++, s += t, nn = max( nn, t );
    t = 0;
    for ( int i = 1; i <= 6000; ++i ){
        if ( t == 0 && i > nn ) break;
        if ( t > 0 && a[i] == 0 ) t--, ans += i;
        if ( a[i] > 1 ) t += a[i] - 1;
        if ( a[i] ) ans += i;
    }
    printf( "%d
", ans - s );
    return 0;
}

 

以上是关于CodeForces546B Soldier and Badges 解题报告的主要内容,如果未能解决你的问题,请参考以下文章

CodeForces 546B-Soldier and Badges

CodeForces-546D Soldier and Number Game 筛法+动态规划

codeforces 546 E Soldier and Traveling

CodeForces 55D

Soldier and Badges

O - Soldier and Badges