//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;
}
includex
1번의 시도만에 문제 MISPELL를 해결했습니다.
1번의 시도만에 문제 DRAWRECT를 해결했습니다.
1번의 시도만에 문제 ENDIANS를 해결했습니다.
5번의 시도만에 문제 BRACKETS2를 해결했습니다.
1번의 시도만에 문제 URI를 해결했습니다.
1번의 시도만에 문제 ENCRYPT를 해결했습니다.
1번의 시도만에 문제 MMRECT1를 해결했습니다.
3번의 시도만에 문제 SENTENCE를 해결했습니다.
10번의 시도만에 문제 WORDLENGTH를 해결했습니다.
0..1수열 시간초과 도와주세요.ㅜㅜㅜㅜㅜㅜ에 새 댓글을 달았습니다: 저랑 같은 고민을 하셨군요..ㅠㅠ 저도 한참 고민하다 스스로 풀지는 못했습니다. 이런..
9번의 시도만에 문제 ZEROONE를 해결했습니다.
3번의 시도만에 문제 HELLOWORLD를 해결했습니다.