zoukankan      html  css  js  c++  java
  • Codeforces Round #544 (Div. 3) B. Preparation for International Women's Day

      题意就是给n个数字,然后如果2个数字之和%k==0,那么这2个数字可以组成一组,然后要求组成最多组数花费的数字。

      感觉这道贪心很难想到。正解是存ai%k的值,然后对于余数i对应的数字就和余数k-i对应的数字配一组即可被k整除。

    #include<bits/stdc++.h>
    using namespace std;
    int cnt[105];
    
    int main()
    {
        memset(cnt,0,sizeof(cnt));
        int n,k;
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;i++)
        {
            int x;
            scanf("%d",&x);
            cnt[x%k]++;
        }
        int ans=0;
        for(int i=0;i<=k/2;i++)
        {
            if(i==0)
                ans+=cnt[i]/2*2;
            else
            {
                if(i==k-i)
                    ans+=cnt[i]/2*2;
                else
                    ans+=min(cnt[i],cnt[k-i])*2;
            }
        }
        cout<<ans<<endl;
        return 0;
    }
  • 相关阅读:
    css3基础篇二
    css3基础篇一
    react基础篇六
    react基础篇五
    react基础篇四
    react基础篇三
    react基础篇二
    react基础篇一
    矩阵
    POJ 3071 Football
  • 原文地址:https://www.cnblogs.com/eason9906/p/11754799.html
Copyright © 2011-2022 走看看