結果

問題 No.411 昇順昇順ソート
ユーザー sekiya9311
提出日時 2016-08-12 23:09:38
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,917 bytes
コンパイル時間 999 ms
コンパイル使用メモリ 103,028 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-07 15:45:14
合計ジャッジ時間 1,878 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 26 WA * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <string>
#include <queue>
#include <stack>
#include <algorithm>
#include <list>
#include <vector>
#include <complex>
#include <utility>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <bitset>
#include <ctime>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <cassert>
#include <cstddef>
#include <iomanip>
#include <numeric>
#include <tuple>
#include <sstream>
#include <fstream>

#define REP(i,n) for(int (i)=0;(i)<(n);(i)++)
#define FOR(i,a,b) for(int (i)=(a);(i)<(b);(i)++)
#define RREP(i,a) for(int (i)=(a)-1;(i)>=0;(i)--)
#define FORR(i,a,b) for(int (i)=(a)-1;(i)>=(b);(i)--)
#define PI acos(-1.0)
#define DEBUG(C) cout<<C<<endl;
#define VI vector<int>
#define VII vector<VI>
#define VL vector<LL>
#define VLL vector<VL>
#define VD vector<double>
#define VDD vector<VD>
#define PII pair<int,int>
#define PDD pair<double,double>
#define PLL pair<LL,LL>
#define VPII vector<PII>
#define ALL(a) (a).begin(),(a).end()
#define SORT(a) sort(ALL(a))
#define REVERSE(a) reverse(ALL(a))
#define MP make_pair
#define FORE(a,b) for(auto &&a:b)

using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const int INF=1e9;
const int MOD=INF+7;

// int main (void){
//     int px,py,qx,qy;
//     cin>>px>>py>>qx>>qy;
//     double dis=abs(qy-py)+abs(qx-px);
//     cout<<(dis/2.0)<<endl;
// }

LL per(int n,int r){
    if(n<r) return 0;
    LL res=1;
    while(r){
        res*=n;
        r--;
        n--;
    }
    return res;
}

int calc(int n){
    if(n==1) return n;
    return n*calc(n-1);
}

LL c(int n,int r){
    return per(n,r)/calc(r);
}

int main(void){
    int N,K; cin>>N>>K;
    if(K==1){
        cout<<0<<endl;
        return 0;
    }
    LL ans=0;
    int num=N-K;
    int nn=num;
    while(num){
        ans+=c(nn,num);
        num--;
    }
    cout<<ans+1<<endl;
}
0