为什么第8个RE????
  • 板块P1324 矩形分割
  • 楼主oval_m
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/10/20 22:27
  • 上次更新2023/11/4 03:06:46
查看原帖
为什么第8个RE????
574613
oval_m楼主2021/10/20 22:27

调了好久都不过。。。(最近在学c++,所以用了vector做)

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<long long> a,b;
int main()
{
    int n,m;
    long long ans=0,temp;
    cin>>n>>m;
    for(int i=0;i<n-1;i++)  //列
    {
        scanf("%lld",&temp);
        a.push_back(temp);
    }
    for(int i=0;i<m-1;i++)  //行
    {
        scanf("%lld",&temp);
        b.push_back(temp);
    }
    sort(a.begin(),a.end());
    sort(b.begin(),b.end());
    int raw=1,col=1;
    long long raw_max,col_max;
    char ch;
    while(raw<n||col<m)
    {
        if(!b.empty())raw_max=*(b.end()-1);
        else raw_max=0;
        if(!a.empty())col_max=*(a.end()-1);
        else col_max=0;
        if(raw_max>col_max)ch='r';
        else if(raw_max<col_max)ch='c';
        else
        {
            if(n>=m)ch='r';
            else ch='c';
        }
        if(ch=='c')
        {
            ans+=col_max*col;
            raw++;
            a.pop_back();
        }
        else
        {

            ans+=raw_max*raw;
            col++;
            b.pop_back();
        }
    }
    printf("%lld",ans);
    return 0;
}
2021/10/20 22:27
加载中...