제출 #284493

#제출 시각아이디문제언어결과실행 시간메모리
284493MKopchev모임들 (IOI18_meetings)C++14
19 / 100
859 ms691340 KiB
#include "meetings.h"
#include<bits/stdc++.h>
using namespace std;

const int nmax=5e3+42;

long long pref[nmax][nmax],suff[nmax][nmax];//left -> start, right-> to

std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L,
                                     std::vector<int> R)
{
    int n=H.size();
    for(int le=0;le<n;le++)
    {
        int maxi=H[le];

        suff[le][le]=maxi;

        for(int ri=le+1;ri<n;ri++)
        {
            maxi=max(maxi,H[ri]);
            suff[le][ri]=suff[le][ri-1]+maxi;
        }
    }

    for(int le=0;le<n;le++)
    {
        int maxi=H[le];

        pref[le][le]=maxi;

        for(int ri=le-1;ri>=0;ri--)
        {
            maxi=max(maxi,H[ri]);
            pref[le][ri]=pref[le][ri+1]+maxi;
        }
    }
    /*
    for(int le=0;le<n;le++)
        for(int ri=0;ri<n;ri++)
            cout<<le<<" "<<ri<<" -> "<<pref[le][ri]<<" "<<suff[le][ri]<<endl;
    */
    vector<long long> outp={};

    for(int i=0;i<L.size();i++)
    {
        outp.push_back(1e18);

        for(int j=L[i];j<=R[i];j++)
        {
            //cout<<L[i]<<" "<<R[i]<<" "<<j<<" -> "<<pref[j][L[i]]<<" "<<suff[j][R[i]]<<" "<<H[j]<<endl;

            outp[i]=min(outp[i],pref[j][L[i]]+suff[j][R[i]]-H[j]);
        }
    }
    return outp;
}

컴파일 시 표준 에러 (stderr) 메시지

meetings.cpp: In function 'std::vector<long long int> minimum_costs(std::vector<int>, std::vector<int>, std::vector<int>)':
meetings.cpp:45:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for(int i=0;i<L.size();i++)
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...