int64가 아니라 여기선 long long 입니다.
제가 풀어본 결과 long long 형으로도 아무 문제 없었습니다.
해법이 틀린것 같네요.
그리고 문제의 질문을 올리거나 재채점을 요구할 때는
자신의 알고리즘의 설명이나 코드, 어째서 타당한지에 대한 내용도 같이 올려주세요.
4782번 - 분수 뺄셈
int m;
long long mo = N*N;
for(m=1;m<=N*2;m++) {
if (m == N || 2*N - m < 0) continue;
long long ja = (long long)B*m*(2*N - m);
if (ja % mo == 0) {
int a = ja / mo;
DATA tmp;
tmp.ja = a;
tmp.mo = m;
Ans.push_back(tmp);
}
}
sort(Ans.begin(),Ans.end(),DATA());
-------------------
제가 제출 했던 코드그요..
출제 되었던 대회에서 제공했던 솔루션 코드의 해법도 이것과 똑같았고,
거기서 제공 했던 모범 소스 코드를 제출해봐도 시간 초과가...
댓글을 작성하려면 로그인해야 합니다.
ryan_park 8년 전
int64 계산할때 빠르게 하는 방법이 있는건지..
그런게 아니면 재채점 부탁드려요..