矩形分割

#include
using namespace std;
int h[2004]={0},n,ch=1,qih=1;
int s[2004]={0},m,cs=1,qis=1;
int cmp(const int & a,const int & b)
{
    return a>=b;
}
int main()
{
    long long ans=0;
    scanf("%d%d",&n,&m);
    for(int i=1;i        scanf("%d",h+i);
    for(int i=1;i        scanf("%d",s+i);
    sort(h+1,h+n,cmp);
    sort(s+1,s+m,cmp);
    while(qih    {
        if(h[qih]>s[qis])
        {
            ans+=h[qih++]*(ch);cs++;
        }
        else if(h[qih]        {
            ans+=s[qis++]*(cs);ch++;
        }
        else
        {
            if(cs>=ch)
            {
                ans+=h[qih++]*(ch);cs++;
            }
            else
            {
                ans+=s[qis++]*(cs);ch++;
            }
        }
    }
    while(qih    while(qis    printf("%lld",ans);
    return 0;
}

你可能感兴趣的:(编程)