結果
問題 | No.118 門松列(2) |
ユーザー |
![]() |
提出日時 | 2015-01-14 16:59:03 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 929 bytes |
コンパイル時間 | 831 ms |
コンパイル使用メモリ | 79,048 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 11:36:01 |
合計ジャッジ時間 | 2,288 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 WA * 1 |
ソースコード
#include <iostream> #include <vector> #include <map> #include <algorithm> #define FORR(i,b,e) for(int i=(b);i<(int)(e);++i) #define FOR(i,e) FORR(i,0,e) #define dump(var) cerr << #var ": " << var << "\n" #define dumpc(con) for(auto& e: con) cerr << e << " "; cerr<<"\n" typedef long long ll; typedef unsigned long long ull; const ull MODD = 1e9+7; using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(false); int N; vector<int> A; map<int,int> acnt; cin >> N; A.resize(N); FOR(i, N) { cin >> A[i]; acnt[A[i]]++; } sort(A.begin(), A.end()); A.erase(unique(A.begin(), A.end()), A.end()); ull pcnt = 0; int l = A.size(); FOR(i, l-2) { FORR(j, i+1, l-1) { FORR(k, j+1, l) { pcnt = (pcnt + acnt[A[i]]*acnt[A[j]]*acnt[A[k]]) % MODD; } } } cout << pcnt << endl; return 0; }