hdu 1754 i hate it 오류 코드
Runtime Error
(ACCESS_VIOLATION)
뭐 가 틀 렸 어 -
//hdu1754 creat modify search
#include<iostream>
using namespace std;
#define Max 400100
int MAX;
typedef struct node
{
int l,r,max;
node *left,*right;
}Node,*Tree;
int nt=1;
node tree[600010];
inline int max(int a,int b) {return a>b?a:b;}
Tree Creat(int l,int r)
{
Tree tmp=&tree[nt++];
tmp->max=0;
tmp->l=l; tmp->r=r;
if(l==r)
tmp->left=tmp->right=NULL;
else
{
int mid=(l+r)/2;
tmp->left=Creat(l,mid);
tmp->right=Creat(mid+1,r);
}
return tmp;
}
void Modify(Tree tmp,int l,int x) //l: x:
{
if(tmp->l==tmp->r)
{
tmp->max=x;
return;
}
int mid=(tmp->l+tmp->r)/2;
if(l<=mid)
Modify(tmp->left,l,x);
else
Modify(tmp->right,l,x);
tmp->max=max(tmp->left->max,tmp->right->max);
}
void Search(Tree tmp,int l,int r) // tmp l_r
{
if(tmp->l==l&&tmp->r==r)
{
if(MAX<tmp->max)
MAX=tmp->max;
return;
}
int mid=(tmp->l+tmp->r)/2;
if(mid<l)
Search(tmp->right,l,r);
else if(r<=mid)
Search(tmp->left,l,r);
else
{
Search(tmp->left,l,mid);
Search(tmp->right,mid+1,r);
}
}
int main()
{
char t[2];
int N,M,A,B,i,j,x;
while( scanf("%d%d",&N,&M)!=EOF )
{
Tree T=Creat(1,N);
for(i=1;i<=N;i++)
{
scanf("%d",&x);
Modify(T,i,x);
}
for(i=1;i<=M;i++)
{
getchar();
scanf("%s%d%d",t,&A,&B);
if(t[0]=='Q') // Search
{
MAX=0;
Search(T,A,B); //A~B
printf("%d
",MAX);
}
else // Modify
Modify(T,A,B); // ID A B
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.