제출 #1245050

#제출 시각아이디문제언어결과실행 시간메모리
1245050matisitoAliens (IOI16_aliens)C++20
12 / 100
78 ms2376 KiB
#include "aliens.h"
#include <algorithm>
#include <cstring>
#include <numeric>
#include <vector>
#include <bitset>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <unordered_map>
#include <unordered_set>
#include <cassert>

using namespace std;
#define dbg(x) cerr<<#x<<": "<<x<<"\n";

/*  
I love VN uwu
*/

bool comp(pair<long long, long long>a, pair<long long, long long>b){
    if(a.first==b.first) return a.second>b.second;
    return a.first<b.first;
}

long long take_photos(int n, int m, int k, vector<int> r, vector<int> c) {
    vector<pair<long long, long long>>curr;
    vector<pair<long long, long long>>vp;
    for(long long i=0 ; i<n ; i++) vp.push_back({min(r[i], c[i]), max(r[i], c[i])});
    sort(vp.begin(), vp.end(), comp);
    curr.push_back({0, 0});
    for(long long i=0 ; i<n ; i++){
        if((long long)curr.size()==1 || vp[i].first<curr.back().first || vp[i].second>curr.back().second) curr.push_back({vp[i].first, vp[i].second});
    }
    n=(long long)curr.size()-1;
    vector<vector<long long>>dp(n+1, vector<long long>(k+1, 1e18));
    for(long long i=1 ; i<=n ; i++){
        for(long long j=1 ; j<=k ; j++){
            if(j==1){
                dp[i][j]=(curr[i].second-curr[1].first+1)*(curr[i].second-curr[1].first+1);
                continue;
            }
            for(long long l=i ; l>0 ; l--){
                dp[i][j]=min(dp[i][j], ((curr[i].second-curr[l].first+1)*(curr[i].second-curr[l].first+1))+dp[l-1][j-1]);
            }
        }
    }
    long long ans=1e18;
    for(long long j=1 ; j<=k ; j++) ans=min(ans, dp[n][j]);
    return ans;
}

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

aliens.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
aliens_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...