結果

問題 No.346 チワワ数え上げ問題
ユーザー naimonon77
提出日時 2016-02-26 23:54:37
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 679 bytes
コンパイル時間 1,303 ms
コンパイル使用メモリ 158,176 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-23 03:20:05
合計ジャッジ時間 2,143 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)
using namespace std;
typedef unsigned long long ull;
template<typename T>
T combi(T n,T r) {
  T i,j;
  T rep = 1;
  if(n < r) return 0;
  if(r > n/2) r = n-r;
  rep(i,r) rep *= n-i;
  rep(i,r) rep /= r-i;
  return rep;
}
int main() {
  int i,j;
  cin.tie(0);
  ios::sync_with_stdio(false);
  static char s[100005];
  static int  a[100005];
  ull sum = 0;
  ull cnt = 0;
  cin >> s;
  for(i=sizeof(s)-1;i>-1;i--) {
    if(s[i] == 'w') cnt++;
    a[i] = cnt;
  }
  for(i=0;s[i];i++) {
    if(s[i] == 'c') {
      sum += combi((ull)a[i],(ull)2);
    }
  }
  cout << sum << endl;
  return 0;
}
0