제출 #114493

#제출 시각아이디문제언어결과실행 시간메모리
114493DungTwo Dishes (JOI19_dishes)C++11
0 / 100
596 ms25580 KiB
#include <bits/stdc++.h> #include <iostream> using namespace std; unsigned int N,M; vector<unsigned long> A; vector<unsigned long> B; vector<unsigned long long> S; vector<unsigned long long> T; vector<long> P; vector<long> Q; vector<unsigned long> suma, sumb; unsigned long sum = 0; long ans = 0; unsigned long long curtime = 0; long dp(const unsigned int & posa,const unsigned int & posb,const short int & state){ if(state == 1){ if(posa < N){ if(posb >= 0){ curtime = suma[posa] + sumb[posb]; } else{ curtime = suma[posa]; } if(curtime < S[posa]){ ans += P[posa]; } unsigned int tema = posa + 1; unsigned int temb = posb + 1; return max(dp(tema, posb,1),dp(posa,temb,-1)); } else{ long long ans1= ans; ans -= P[posa - 1]; return ans1; } } else if(state == -1){ if(posb < M){ if(posa >= 0){ curtime = suma[posa] + sumb[posb]; } else{ curtime = sumb[posb]; } if(curtime < S[posb]){ ans += Q[posb]; } unsigned int tema = posa + 1; unsigned int temb = posb + 1; return max(dp(tema, posb,1),dp(posa,temb,-1)); } else{ long long ans1= ans; ans -= Q[posb - 1]; return ans1; } } } int main(){ cin >> N >> M; A.resize(N); S.resize(N); P.resize(N); suma.resize(N); B.resize(M); T.resize(M); Q.resize(M); sumb.resize(M); for(int i = 0;i< N;i++){ cin >> A[i] >> S[i] >> P[i]; sum += A[i]; suma[i] = sum; } sum = 0; for(int i = 0;i< M;i++){ cin >> B[i] >> T[i] >> Q[i]; sum += B[i]; sumb[i] = sum; } cout << max(dp(0,-1,1),dp(-1,0,-1)); }

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

dishes.cpp: In function 'int main()':
dishes.cpp:77:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0;i< N;i++){
                 ~^~~
dishes.cpp:83:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0;i< M;i++){
                 ~^~~
dishes.cpp: In function 'long int dp(const unsigned int&, const unsigned int&, const short int&)':
dishes.cpp:67:2: warning: control reaches end of non-void function [-Wreturn-type]
  }
  ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...