結果
問題 |
No.411 昇順昇順ソート
|
ユーザー |
![]() |
提出日時 | 2017-05-18 22:42:41 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 693 bytes |
コンパイル時間 | 885 ms |
コンパイル使用メモリ | 110,188 KB |
実行使用メモリ | 8,064 KB |
最終ジャッジ日時 | 2024-09-18 19:15:03 |
合計ジャッジ時間 | 5,000 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 23 TLE * 1 -- * 6 |
ソースコード
#include <cstdio> #include <cstring> #include <cmath> #include <cassert> #include <random> #include <vector> #include <algorithm> #include <array> #include <functional> #include <utility> #include <regex> #include <tuple> #include <map> using namespace std; template<typename T> T gcd(T a,T b){ T c=a%b; if(c==0){ return b; } return gcd(b,c); } int main(){ int64_t n,k,cnt=0; -scanf("%ld%ld",&n,&k); k--; vector<int> t(n); for(int i=0;i<n;i++)t[i]=i; do{ if(t[0]==k){ int ac=0; for(int i=0;i<n-1;i++){ if(t[i]>t[i+1]){ if(ac++==1)break; } } if(ac==1){ cnt++; } } }while(next_permutation(t.begin(),t.end())); printf("%ld\n",cnt); return 0; }