Submission #3654

#TimeUsernameProblemLanguageResultExecution timeMemory
3654BothEarRimKing of penalty (kriii1_K)C++98
0 / 1
24 ms2064 KiB
#include <iostream> #include <iomanip> #include <cstdio> #include <string> #include <cstring> #include <cstdlib> #include <cmath> #include <utility> #include <locale> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <list> #include <set> #include <climits> #include <cfloat> #define PI acos(0.0) * 2.0 using namespace std; vector<int> needTime; // 각 문제를 해결하는 데 필요한 시간 int contestTotTime, prob_N; // 대회 전체 시간, 문제 개수 int solved_N=0, penalty_tot=0; // 푼 문제 개수, 페널티 총합, 문제 푸는데 사용한 시간 총합 int main() { scanf("%d %d",&contestTotTime, &prob_N); contestTotTime--; // 대회 종료순간에는 문제를 제출 못하므로 아예 가진 시간을 1분 줄여 생각한다 needTime.resize(prob_N); for(int i=0; i<prob_N; i++) scanf("%d", &needTime[i]); sort(needTime.begin(), needTime.end()); // 정렬해서 걸리는 시간이 작은 문제부터 greedy하게 살펴볼 것임 for(int i=0, pnt=contestTotTime; i<prob_N && pnt-needTime[i]>=0; i++) { solved_N++; penalty_tot += pnt; // 대회 시작부터 현재 pnt까지의 시간 pnt -= needTime[i]; } printf("%d %d\n", solved_N, penalty_tot); }
#Verdict Execution timeMemoryGrader output
Fetching results...