# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
258648 | 2020-08-06T10:15:24 Z | dantoh000 | Lucky Numbers (RMI19_lucky) | C++14 | 200 ms | 2112 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int mod = 1000000007; ll mem[100005][2]; int a[100005]; int n,q; ll dp(int id, int lastone){ if (id == 0) return 1; if (mem[id][lastone] != -1) return mem[id][lastone]; ll ret = 0; for (int i = 0; i < 10; i++){ if (lastone && i == 3) continue; ret += dp(id-1,i==1); } ret %= mod; //printf("%d %d %lld\n",id,lastone,ret); return mem[id][lastone] = ret; } ll qu(int l, int r){ ll ret = 0; int ct = 0; for (int i = r; i >= l; i--, ct++){ for (int j = 0; j < a[i]; j++){ ret += dp(ct,j==1); if (ret >= mod) ret -= mod; } } bool isthirteen = 0; for (int i = l+1; i <= r; i++){ if (a[i] == 3 && a[i-1] == 1) isthirteen = true; } if (!isthirteen) ret++; if (ret >= mod) ret -= mod; return ret; } int main(){ scanf("%d%d",&n,&q); for (int i = 0; i < n; i++){ char ch; scanf(" %c",&ch); a[i] = ch-'0'; } memset(mem,-1,sizeof(mem)); printf("%lld\n",qu(0,n-1)); for (int i = 0; i < q; i++){ int t,l,r; scanf("%d%d%d",&t,&l,&r); if (t == 1){ printf("%lld\n",qu(--l,--r)); } else{ a[--l] = r; } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 1920 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 1920 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 367 ms | 2112 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 367 ms | 2112 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 1920 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 1920 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |