제출 #211081

#제출 시각아이디문제언어결과실행 시간메모리
211081147Job Scheduling (IOI19_job)C++14
0 / 100
5 ms384 KiB
#include "job.h" #include <bits/stdc++.h> using namespace std; #define F first #define S second vector<pair<pair<int,int>,int>> v; vector<int> V; vector<vector<int>> vv; bool cmp(pair<pair<int,int>,int> a,pair<pair<int,int>,int> b){ return a.F.F * b.F.S < a.F.S * b.F.F; } long long scheduling_cost(std::vector<int> p, std::vector<int> u, std::vector<int> d) {//d=t; int n=p.size(); int head; pair<pair<int,int>,int> P; v.assign(n,P); vv.assign(n,V); set<int> s; int ans=0; int k=0; for(int i=0;i<n;i++){ if(p[i]==-1){ head=i; continue; }vv[p[i]].push_back(i); s.insert(p[i]); v[k].F.F=u[i]; v[k].F.S=d[i]; v[k].S=i; k++; } long long result; if(s.size()==n-1){ vector<int> ans; while(vv[head].size()!=0){ ans.push_back(head); head=vv[head][0]; } ans.push_back(head); int t=0; result=0; for(int i=0;i<n;i++){ t+=d[ans[i]]; result+=u[ans[i]]*t; } }if(s.size()==1){ int t=u[head]; result=t*d[head]; sort(v.begin(),v.end(),cmp); for(auto i : v){ t+=i.F.F; result+=t*i.F.S; } } return result; }

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

job.cpp: In function 'long long int scheduling_cost(std::vector<int>, std::vector<int>, std::vector<int>)':
job.cpp:34:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(s.size()==n-1){
        ~~~~~~~~^~~~~
job.cpp:19:9: warning: unused variable 'ans' [-Wunused-variable]
     int ans=0;
         ^~~
job.cpp:57:9: warning: 'result' may be used uninitialized in this function [-Wmaybe-uninitialized]
  return result;
         ^~~~~~
#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...