사용자 랭킹

랭킹 사용자 한마디 푼 문제 출제 답안 수 정답 비율↓
6911 Beginner_1001 5 0 17 5 (29%)
6911 hsoh0306 5 0 17 5 (29%)
9264 kke0949 3 0 17 5 (29%)
4139 Hyeon-Jun 10 0 34 10 (29%)
6911 miniddong 5 0 17 5 (29%)
6911 5 0 17 5 (29%)
547 JungSol2 45 0 337 99 (29%)
1525 seonho.park 24 1 133 39 (29%)
2404 Darkttd 17 0 58 17 (29%)
2579 timjoo Expert에 도전하자 16 0 58 17 (29%)
3740 whithorse 11 0 58 17 (29%)
1442 xzvfinet 25 0 157 46 (29%)
5060 haje01 8 0 99 29 (29%)
1797 ibis 21 0 82 24 (29%)
2579 웁스 16 0 82 24 (29%)
3740 includex //CONCERT #include <stdio.h> #include <string.h> #include <vector> using namespace std; int getLastV(vector<int>& vlist, int _nVMax, int _nV, int _Vpos){ int nP = _nV + vlist[_Vpos]; int nM = _nV - vlist[_Vpos]; if(nP <= _nVMax){ if(vlist.size() > _Vpos + 1){ nP = getLastV(vlist, _nVMax, nP, _Vpos + 1); } }else{ nP = -1; } if(nM >= 0){ if(vlist.size() > _Vpos + 1){ nM = getLastV(vlist, _nVMax, nM, _Vpos + 1); } }else{ nM = -1; } if(nP > nM){ return nP; }else{ return nM; } return -1; } int main(){ char dumy[64]; int nCase = 0; scanf("%d", &nCase); gets(dumy); for(int i = 0; i < nCase; i++){ unsigned int nVCount = 0; unsigned int nVStart = 0; unsigned int nVMax = 0; scanf("%d %d %d", &nVCount, &nVStart, &nVMax); gets(dumy); vector<int> vlist; unsigned int nV = 0; for(int iV = 0; iV < nVCount; iV++){ scanf("%d", &nV); vlist.push_back(nV); } gets(dumy); printf("%d\n", getLastV(vlist, nVMax, nVStart, 0)); } return 0; } 11 0 41 12 (29%)
829 tantara SNUCSE 36 0 164 48 (29%)
4139 jhs0216 10 0 41 12 (29%)
4139 jungeun38 10 0 41 12 (29%)
3740 carien 11 0 41 12 (29%)