zoukankan      html  css  js  c++  java
  • Codeforces Round #261 (Div. 2) B. Pashmak and Flowers 水题

    题目链接:http://codeforces.com/problemset/problem/459/B


    题意:

    给出n支花,每支花都有一个漂亮值。挑选最大和最小漂亮值得两支花,问他们的差值为多少,并且有多少种选法(无先后顺序)。

    现场做时,想到的是:用multimap记录每个漂亮值出现的次数,并不断更新最大最小值。

    这个方法很笨,而且multimap的val值是多余的。

    需要注意特殊情况:max==min


    代码如下:

    #include<iostream>//A - Pashmak and Flowers CodeForces - 459B 
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<cmath>
    #include<algorithm>
    #include<map>
    
    using namespace std;
    typedef long long ll;
    
    multimap<int,int> m;
    
    int main()
    {
        int n,max = -1,min = 2000000000,a;
        ll smax,smin;
        m.clear();
        scanf("%d",&n);
        for(int i = 0; i<n; i++)
        {
            scanf("%d",&a);
            m.insert(pair<int,int>(a,0));
    
    
            if(a>max) max = a;
            if(a<min) min = a;
        }
    
        smax = m.count(max);
        smin = m.count(min);
    
        if(max==min)
            printf("0 %lld
    ",smax*(smax-1)/2);
        else
            printf("%d %lld
    ",max-min, smax*smin);
    
    
    }
    



    后来朋友说排序。恍然大悟,排个序什么都好说了。

    代码如下:

    #include<iostream>//A - Pashmak and Flowers CodeForces - 459B  排序
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<cmath>
    #include<algorithm>
    
    using namespace std;
    typedef long long ll;
    
    ll v[200005];
    
    int main()
    {
        ll n,max,min,a,j,smax,smin,i;
    
        scanf("%lld",&n);
        for(i = 0; i<n; i++)
        {
            scanf("%lld",&v[i]);
        }
        sort(v,v+n);
    
        min = v[0];
        smin = 1;
        for(i = 1; i<n && v[i]==min; i++)
            smin++;
    
        max = v[n-1];
        smax = 1;
        for(i = n-2; i>=0 && v[i]==max; i--)
            smax++;
    
        if(max==min)
            printf("0 %lld
    ",smax*(smax-1)/2);
        else
            printf("%lld %lld
    ",max-min, smax*smin);
    }
    



  • 相关阅读:
    Spring shiro学习(二)
    Spring shiro学习(一)
    Redis/zookeeper/ActiveMQ在Mac下的安装配置
    Mac下利用brew安装Intellij IDEA
    MySQL服务相关
    Ruby变量常量
    Web性能测试工具:Siege安装&使用简介
    无限级分类功能实践
    Ubuntu Bash and Dash
    安装好的虚拟机,外部通过ssh工具连接,报connection failed
  • 原文地址:https://www.cnblogs.com/DOLFAMINGO/p/7538763.html
Copyright © 2011-2022 走看看