Submission #75088

#TimeUsernameProblemLanguageResultExecution timeMemory
75088faustaadpMeetings (IOI18_meetings)C++17
0 / 100
2 ms376 KiB
#include "meetings.h" #include<bits/stdc++.h> #define ll long long #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ll n,i,j,ma[5050][5050],kan[5050][5050],kir[5050][5050],has; std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L, std::vector<int> R) { n=H.size(); for(i=0;i<n;i++) { ma[i][i]=H[i]; for(j=i+1;j<n;j++) ma[i][j]=max(ma[i][j-1],(ll)H[j]); } for(i=0;i<n;i++) { kan[i][i]=H[i]; for(j=i+1;j<n;j++) kan[i][j]=kan[i][j-1]+ma[i][j]; } for(i=0;i<n;i++) { kir[i][i]=H[i]; for(j=i-1;j>=0;j--) kir[i][j]=kir[i][j+1]+ma[j][i]; } /*for(i=0;i<n;i++) for(j=i;j<n;j++) { cout<<i<<" "<<j<<" "<<kir[j][i]<<" "<<kan[i][j]<<" "<<ma[i][j]<<"\n"; }*/ int Q = L.size(); std::vector<long long> C(Q); for (int TC = 0; TC < Q; ++TC) { has=1e18; for(i=L[TC];i<R[TC];i++) has=min(has,kir[i][L[TC]]+kan[i+1][R[TC]]); C[TC]=has; } return C; }
#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...