Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
C11ID - Mã số |
Hiện tại, bài tập này đã có trên online judge chính thức của VNOI, bạn có thể truy cập ở đây: https://oj.vnoi.info/problem/c11id
Đất nước C11 sắp tiến hành cấp N mã số khác nhau cho N người dân để tiện việc quản lí. Để việc cấp mã số mang tính dân chủ, mỗi người dân được quyền chọn một số max và chính quyền sẽ cấp cho người đó một mã số là một số tự nhiên có giá trị từ 1 đến max.
Nhiệm vụ của bạn là đếm xem có bao nhiêu cách cấp mã số khác nhau cho N người này.
Dữ liệu
- Dòng 1: Số nguyên dương N.
- Dòng i trong N dòng tiếp theo: Số nguyên dương maxi.
Kết quả
- Phần dư khi chia số cách cấp mã số khác nhau cho k. Với k là số nguyên tố nhỏ nhất lớn hơn 109.
Ví dụ
Input 1: 2
1
3 Output 1: 2
Input 2:
4
4
4
4
4
Output 2:
24
Giải thích:
- Ví dụ 1: Có 2 cách cấp mã số là { 1, 2 } hoặc { 1, 3 }.
- Ví dụ 2: Số cách cấp mã số là số hoán vị của tập (1, 2, 3, 4).
Giới hạn
- 1 ≤ N ≤ 105.
- 1 ≤ maxi ≤ 109.
Được gửi lên bởi: | Quan To |
Ngày: | 2012-11-23 |
Thời gian chạy: | 0.200s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: GOSU PERL6 PYPY RUST SED |
hide comments
|
||||||||
2021-05-27 17:59:28
Tham khảo: https://vnspoj.github.io/problems/C11ID |
||||||||
2020-01-14 09:13:21
#include <bits/stdc++.h> using namespace std; int a[100000];int b[100000]; int i,s,n; int main() { cin>>n; for (i=1;i<=n;i++) cin>> a[i]; sort(a,a+n+1); for (i=1;i<=n;i++) {b[i]=a[i]-i+1;} s=1; for (i=1;i<=n;i++) {s=s*b[i];} cout<<s; } |
||||||||
2019-04-17 12:30:54
chia lấy dư 1e9 + 7 vẫn đc |
||||||||
2018-10-10 04:59:26
À nhong |
||||||||
2018-10-10 04:59:25
À nhong |
||||||||
2018-07-24 03:43:39
Last edit: 2018-07-24 03:44:23 |
||||||||
2018-06-21 09:46:58
one hit =)) |
||||||||
2016-12-25 09:41:37
khong can Mod van AC WTF |
||||||||
2016-11-02 16:23:39
Code Pascal: http://shink.in/lSC8d |
||||||||
2016-03-09 05:20:29 Nguyễn Thành Nhân
dân chủ đến thế này là cùng, ko thể dân chủ hơn :v |