0-1수열 타임리밋 문제..... 200824437 #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main(){ char num[100000]; scanf("%s",&num); int *arr; arr = new int[strlen(num)]; for(int i=0; i<strlen(num); i++) arr[i]=num[i]-48; int q_num; scanf("%d",&q_num); int *a,*b; a= new int[q_num]; b= new int[q_num]; for(int i=0; i<q_num; i++){ scanf("%d%d",&a[i],&b[i]); } for(int i=0; i<q_num; i++){ int flag = arr[a[i]]; int sig=0; for(int j=a[i]+1; j<=b[i]; j++){ if(flag!=arr[j]){ sig=1; break; } } if(sig==1) cout<<"No"<<endl; else cout<<"Yes"<<endl; } return 0; } scanf와 printf로도 다 바꿨는데, 시간초과가 계속 나오네여...;; 12년 전
5개의 댓글이 있습니다. Being 질문을 올리시기 전에 아래 글 작성 도움말을 읽어 주세요. 코드가 깨져 있어 수정하였습니다. 이건 입/출력의 속도 문제가 아니라, 문제를 풀기에 너무 느린 비효율적인 알고리즘을 사용하셔서 그렇습니다. 단순히 시키는 대로 구현하는 문제가 아니니 조금 더 생각해 보시고, 그래도 모르시겠으면 다시 질문을 올려 주세요 :) 12년 전 link JongMan 수열의 크기가 최대 1백만이기 때문에 이런 방법으로 푸셔서는 시간 안에 절대로 안나올겁니다. 좀 더 빠른 방법을 생각해 보세요. :-) 12년 전 link JongMan 이런 늦었다 12년 전 link hyunhwan 입출력 함수의 문제 보단, 구현하신 알고리즘이 제한시간 내에 답이 나오기 어렵기 때문에 TLE가 나는 것입니다. 보다 빠른 알고리즘을 생각해보시는걸 권합니다. 12년 전 link 200824437 아이고 다들 감사드려용^^ 복 받으세용^^ 다시 도전 해보겠습니다!! 12년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
200824437
scanf와 printf로도 다 바꿨는데, 시간초과가 계속 나오네여...;;
12년 전