sksdong1   7년 전

펜윅트리로 접근했는데요.

초기값으로 초기화 시키고 

a>b, b>=a 처리했고

인트형 범위안의 모든 수라서 tree에 저장되는 값 관련해서 long으로 선언했고

바꾸는 입력에서 x,y가 들어오면 arr[x] 있던 수를 빼면서 y를 더해주고  arr[x]=y로 갱신시키도록 했는데

이거 도대체 어디가 틀리나요???

비슷한 문제는 맞던데;;

jjh4698   7년 전

a,b,x,y를 long 으로 받아보세요

sksdong1   7년 전

안 되네용.. 

그리고 int형 범위 이내 수인데 long이 필요한 이유가 뭘까요?

특히 a,b는 어차피 1~100,000 사이의 수 일텐데..

jjh4698   7년 전

10만 범위는 N,Q 배열의 길이나 질문의 갯수이고 입력은 int 형으로 주어진다고 했을때

int형이 10억짜리를 10개만 더해도 표현 못하지 않을까요

sksdong1   7년 전

a,b는 a~b까지를 합하라는 범위를 나타내기 때문에 배열의 길이 N이하의 범위가 나올 수 밖에 없는거 아닌가요?

숫자가 10개인데

5번~12번 까지의 합을 구하세요 라고는 안할테니 10만을 안 넘지 않나요??


그리고 x,y의 경우에도 x를 y로 바꾸는거니까 x,y 모두 인트형이고,

10억을 10개 더하더라도 10개를 더하는 값은 tree에 저장이되고, tree는 변수가 long이라 상관없을거 같은데..

제가 뭔가 잘못 생각하고 있는건가요??? 



jjh4698   7년 전

아 말씀하신대로 문제는 안생길것 같은데

다른 문제가 있는건지.. 잘모르겠네요..

https://github.com/jjh4698/BOJ

C++입니다 도움 됬으면 좋겠네요

sksdong1   7년 전

말씀하신 long 변수 부분말고는 다른게 없는거 같은데

자바에서는 int에 long 대입을 지원을 안해서 안되네요.

ㅜㅜ 도와주셔서 감사합니다

댓글을 작성하려면 로그인해야 합니다.