【CF1466B】Last minute enhancements

链接


链接

code

直接贪心,和上一题一样,都用到了map

#include <iostream>
#include <algorithm>
#include <map>
#include <cctype>

inline int read(){
    
    
    int x = 0; char ch = getchar();
    while (!isdigit(ch)){
    
    ch = getchar();}
    while (isdigit(ch)){
    
    x = (x<<1)+(x<<3)+(ch^48); ch = getchar();}
    return x;
}

const int N = 1e5 + 10;
int t, n;
int a[N];
std::map<int, int> mp;
int main(){
    
    
    t = read();
    while (t--){
    
    
        n = read();
        for (int i = 1; i <= n; ++i) a[i] = read();
        std::sort(a + 1, a + 1 + n);
        int ans = 0;
        mp.clear();
        for (int i = 1; i <= n; ++i) {
    
    
            if (!mp[a[i]]){
    
    
                mp[a[i]]++;
                ans++;
            }else{
    
    
                if (!mp[a[i] + 1]){
    
    
                    mp[a[i] + 1]++;
                    ans++;
                }
            }
        }
        printf("%d\n", ans);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_50070650/article/details/112005183
今日推荐