일단 문제는 JLIS 입니다..
제가 여러 예제를 아무리 돌려봐도 잘못된 틀린것을 모르겠습니다..
문제는 분명 이해했는데.. 도대체 어디서 예외가 발생하여 이렇게 된 걸까요?
자꾸 오답으로 나오니깐 답답해서 미칠거 같습니다 ㅜㅜ ALGOSPOT 회원님들 도와주세요!! ㅜㅜ
#include <iostream>
#include <set>
using namespace std;
int n , m;
int tmp;
int numN[100],numM[100];
bool flagN[100],flagM[100];
set<int> input;
int main()
{
int caseNum ;
cin>>caseNum;
int count;
while(caseNum-- > 0)
{
count = (-214748364);
for(int i = 0 ; i < 100 ; i++)
{
numN[i] = 2147483647;
numM[i] = 2147483647;
flagN[i] = false;
flagM[i] = false;
}
flagN[0] = true;
flagM[0] = true;
cin>>n>>m;
for(int i = 0 ; i < n ; i++)
cin>>numN[i];
for(int i = 0 ; i < m ; i++)
cin>>numM[i];
for(int i = 1 ; i < n ; i ++)
{
if(numN[i-1] > numN[i])
flagN[i] = true;
}
for(int i = 0 ; i < m ; i ++)
{
if(numM[i-1] > numM[i])
flagM[i] = true;
}
int iterN = 0;
while(iterN != n)
{
int i;
for(i = iterN+1; flagN[i] != true && i < n; i++);
int iterM = 0;
while(iterM != m)
{
int k;
for(k = iterM+1; flagM[k] != true && k < m; k++);
for(int j = iterN ; j < i; j++)
input.insert(numN[j]);
for(int j = iterM ; j < k; j++)
input.insert(numM[iterM++]);
iterM = k;
//JLIS찾기
if(count < (int)input.size())
{
count = input.size();
}
input.clear();
}
iterN = i;
}
input.clear();
cout<<count<<endl;
}//caseNum만큼 진행됨
return 0;
}
tyburn117
일단 문제는 JLIS 입니다..
제가 여러 예제를 아무리 돌려봐도 잘못된 틀린것을 모르겠습니다..
문제는 분명 이해했는데.. 도대체 어디서 예외가 발생하여 이렇게 된 걸까요?
자꾸 오답으로 나오니깐 답답해서 미칠거 같습니다 ㅜㅜ ALGOSPOT 회원님들 도와주세요!! ㅜㅜ
14년 전