比赛 平凡的题目 评测结果 WWWWWTTTTW
题目名称 平凡的题面 最终得分 0
用户昵称 小明 运行时间 4.016 s
代码语言 C++ 内存使用 1.36 MiB
提交时间 2015-11-03 11:59:29
显示代码纯文本
    #include<stdio.h>
    #include<math.h>
    #include <algorithm>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    using namespace std;
    int main ()
    {
    freopen("bg.in","r",stdin);
    freopen("bg.out","w",stdout);
    int a,c[100000],d[100000],e[100000],f[100000],g,z=0,y=1,x=100000,ans=0,i,j,k,m,n,w=100000;
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++)
    {
    scanf("%d",&a);
    f[a]++;
    }
    for(i=1;i<=m;i++)
    {
    scanf("%d%d",&c[i],&d[i]);
    for(j=c[i];j<=d[i];j++)
    e[j]++;
    if(x>c[i])
    x=c[i];	
    if(z<d[i])
    z=d[i];
    }
    for(i=x;i<=z;i++)
    if(f[i]==0)
    e[i]=0;
    while(y!=0)
    {
    y=0;
    w=100000;
    for(i=x;i<=z;i++)
    {	
    if(e[i]!=0)
    if(w>e[i])
    w=e[i];
    if(y<e[i])
    y=e[i];
    }
    for(i=x;i<=z;i++)
    if((e[i]==w)&&(f[i]>=1))
    {
    g=f[i];
    for(j=1;j<=m;j++)
    if((c[j]<=i)&&(i<=d[j]))
    {
    for(k=c[j];k<=d[j];k++)
    {
    if(e[k]>0)
    e[k]--;
    if(e[k]==0)
    f[k]=0;
    }
    }
    ans+=min(w,g);
    f[i]=0;
    }
    }
    printf("%d",ans);
    return 0;
    }