# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
257021 | 2020-08-03T14:04:44 Z | Marlov | Mate (COCI18_mate) | C++14 | 1921 ms | 23812 KB |
/* Code by @marlov */ #include <iostream> #include <fstream> #include <string> #include <sstream> #include <vector> #include <string> #include <cmath> #include <algorithm> #include <iomanip> #include <utility> #include <set> #include <unordered_set> #include <map> #include <unordered_map> #include <stack> #include <queue> #include <iterator> using namespace std; typedef long long ll; typedef pair<int,int> pi; #define maxV 2005 #define MOD 1000000007 string s; int Q; int pc[maxV][maxV]; int dp[maxV][26]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>s; cin>>Q; for(int i=0;i<maxV;i++){ pc[i][0]=1; for(int j=1;j<i;j++){ pc[i][j]=pc[i-1][j]+pc[i-1][j-1]; pc[i][j]%=MOD; } pc[i][i]=1; } for(int i=0;i<26;i++){ for(int j=s.length()-1;j>=0;j--){ if(s[j]=='a'+i){ dp[j][i]++; } if(j<s.length()-1){ dp[j][i]+=dp[j+1][i]; } } } int tl; char fc,sc; for(int i=0;i<Q;i++){ int result=0; cin>>tl>>fc>>sc; for(int i=tl-2;i<s.length();i++){ if(s[i]==fc){ result+=pc[i][tl-2]*(dp[i][sc-'a']-1); result%=MOD; } } cout<<result<<'\n'; } return 0; } /* stuff you should look for * int overflow, array bounds * special cases (n=1,n=0?) * do smth instead of nothing and stay organized */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 14464 KB | Output isn't correct |
2 | Incorrect | 15 ms | 14464 KB | Output isn't correct |
3 | Incorrect | 15 ms | 14464 KB | Output isn't correct |
4 | Incorrect | 19 ms | 14592 KB | Output isn't correct |
5 | Incorrect | 68 ms | 16120 KB | Output isn't correct |
6 | Incorrect | 58 ms | 16376 KB | Output isn't correct |
7 | Incorrect | 54 ms | 15824 KB | Output isn't correct |
8 | Incorrect | 48 ms | 15736 KB | Output isn't correct |
9 | Incorrect | 1921 ms | 23668 KB | Output isn't correct |
10 | Incorrect | 1574 ms | 23812 KB | Output isn't correct |