티스토리 뷰

 

이런 수학문제가 참 어려운거같다 나는

한참 생각하고 틀린 문제다 혼자 식을 줄이려고 애썼는데 안떠오른다..

 

이 문제는 m이 1000이하인게 힌트다!

 

먼저 2가지 경우가 있을 수 있다

 

1. n<=m인 경우

그럼 n의 최댓값이 1000이므로 그냥 n^2으로 직접 구해보면 된다

그래봐야 백만이다!!

 

2. n>m인 경우

이 경우를 생각도 못했다. 만약 n>m이라면 어떻게 될까?

%m해서 나올 수 있는 값은 총 m개다 근데 m보다 큰 n에 대해 %m을 한다면

비둘기집의 원리에 의해 누군가 하나는 같은게 나올 수 밖에 없다!! 생각도못함..!

같은게있다는말은 빼면 0이된다는 말이고 결국 곱하기 0이 생긴다는거니까 0이다 그냥!

그냥 0..!

 

수학공부를 다시 해야할까보다..

 

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n,m;
int arr[200020];
 
int main(){
    scanf(" %d %d",&n,&m);    
    for(int i=0;i<n;i++scanf(" %d",&arr[i]);
    
    if(n>m) puts("0");
    else{
        ll ans=1LL;
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                ans*=abs((ll)arr[j]-(ll)arr[i]);
                ans%=(ll)m;
            }
        }
        printf("%lld\n",ans);
    }
}
 
 

'알고리즘 > Codeforces' 카테고리의 다른 글

R618(Div.2) C. Anu Has a Function  (0) 2020.03.12
Codecrafr-20(Div.2) C. Primitive Primes  (0) 2020.03.09
R623(Div.2) C. Restoring Permutation  (0) 2020.02.24
R623(Div.2) B. Homecoming  (0) 2020.02.24
R621(Div.1+Div.2) C. Cow and Message  (0) 2020.02.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함