2개의 댓글이 있습니다.
-
-
WeissBlume -
unsigned int의 경우 모든 경우의 수를 저장하기엔 표현 범위가 너무 작습니다. long long을 이용하세요.
10년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
unsigned int의 경우 모든 경우의 수를 저장하기엔 표현 범위가 너무 작습니다. long long을 이용하세요.
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
reniowood
생각만으론 풀기 어려워서 책을 참고중인데, 어떤 미묘한 부분이 틀렸는지 계속 오답처리가 나오네요. 어떤 부분인지 궁금합니다 ㅠ
~~~ c++
#include
#include
#include
using namespace std;
void calculate_partial_sums(unsigned int *D, int N, int K, unsigned int *partial_sums);
unsigned int get_possible_purchase_number(int N, int K, unsigned int *partial_sums);
int get_max_purchase_number(int N, int K, unsigned int *partial_sums);
const int MAX_N = 100000;
int main() {
int T;
int N, K;
int Di;
unsigned int *D, *partial_sums;
}
void calculate_partial_sums(unsigned int *D, int N, int K, unsigned int *partial_sums) {
partial_sums[0] = 0;
for (int i=1; i<=N; ++i) {
partial_sums[i] = (partial_sums[i-1] + D[i-1]) % K;
}
}
unsigned int get_possible_purchase_number(int N, int K, unsigned int *partial_sums) { occurance;::iterator iter;
unsigned int possible_purchase_number = 0;
map
map
}
int get_max_purchase_number(int N, int K, unsigned int *partial_sums) {
int max_purchase_numbers[MAX_N + 1];
int same_partial_sums[MAX_N + 1];
}
~~~
10년 전