제출 #1245080

#제출 시각아이디문제언어결과실행 시간메모리
1245080GabrielAliens (IOI16_aliens)C++20
12 / 100
837 ms992760 KiB
#include "aliens.h" #include "bits/stdc++.h" using namespace std; vector< vector< vector<long long> > > PD; vector<long long> Posibles, Posici_n_de_la_capa, Costos; int Algo, m; long long Resolver(int Cubierto, int Restantes, int Capa){ if(Restantes < 0) return 2222222222222222; if(Capa >= Algo) return 0; if(Cubierto == -1){ long long Menor = 2222222222222222; for(int i = 0; i < m; i++){ if(Posibles[i] >= Costos[Capa]){ Menor = min(Menor, Resolver(i, Restantes - 1, Capa + 1) + (Posibles[i] - Posici_n_de_la_capa[Capa] + 1) * (Posibles[i] - Posici_n_de_la_capa[Capa] + 1)); } } return Menor; } if(PD[Cubierto][Restantes][Capa] != -2) return PD[Cubierto][Restantes][Capa]; if(Posibles[Cubierto] >= Costos[Capa]) return PD[Cubierto][Restantes][Capa] = Resolver(Cubierto, Restantes, Capa + 1); long long Menor = 2222222222222222; int cc = Cubierto; for(Cubierto++; Cubierto < m; Cubierto++){ if(Posibles[Cubierto] >= Costos[Capa]){ Menor = min(Menor, Resolver(Cubierto, Restantes - 1, Capa + 1) + (Posibles[Cubierto] - Posici_n_de_la_capa[Capa] + 1) * (Posibles[Cubierto] - Posici_n_de_la_capa[Capa] + 1)); } } return PD[cc][Restantes][Capa] = Menor; } long long take_photos(int n, int M, int k, vector<int> r, vector<int> c){ set<int> Diferentes; for(int i = 0; i < n; i++){ if(r[i] > c[i]) swap(r[i], c[i]); Diferentes.insert(r[i]); } map<int, int> Posiciones; Algo = Diferentes.size(); Posici_n_de_la_capa.assign(Algo, 0); int Asignar = 0; for(auto E: Diferentes){ Posiciones[E] = Asignar; Posici_n_de_la_capa[Asignar] = E; Asignar++; } Costos.assign(Algo, 0); for(int i = 0; i < n; i++){ Costos[Posiciones[r[i]]] = max((long long)c[i], Costos[Posiciones[r[i]]]); } Diferentes.clear(); for(int i = 0; i < n; i++){ Diferentes.insert(c[i]); } for(auto E: Diferentes){ Posibles.push_back(E); } m = Diferentes.size(); PD.assign(Posibles.size(), vector< vector<long long> >(k + 1, vector<long long>(Algo, -2))); return Resolver(-1, k, 0); }

컴파일 시 표준 에러 (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...