結果
問題 |
No.346 チワワ数え上げ問題
|
ユーザー |
![]() |
提出日時 | 2016-07-30 14:14:26 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 1,038 bytes |
コンパイル時間 | 3,254 ms |
コンパイル使用メモリ | 161,028 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 21:16:30 |
合計ジャッジ時間 | 4,230 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(i,n) for(int i=0;i<n;i++) #define INF INT_MAX/3 #define LINF LLONG_MAX/3 #define MP make_pair #define PB push_back #define EB emplace_back #define ALL(v) (v).begin(),(v).end() #define debug(x) cout<<#x<<":"<<x<<endl #define debug2(x,y) cout<<#x<<","<<#y":"<<x<<","<<y<<endl template<typename T> ostream& operator<<(ostream& os,const vector<T>& vec){ os << "["; for(const auto& v : vec){ os << v << ","; } os << "]"; return os; } typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<vi> vvi; int main(){ string s;cin>>s; int n=s.size(); vector<int> memo(n+1,0); for(int i=n-1;i>=0;i--){ if(s[i]=='w') memo[i] = memo[i+1]+1; else memo[i]=memo[i+1]; } ll ans=0; for(int i=0;i<n;i++) if(s[i]=='c'){ ans += (ll)memo[i]*(ll)(memo[i]-1)/2; assert(ans>=0); } cout << ans << endl; }