?
№ | Отправитель | Задача | Язык | Вердикт | Время | Память | Отослано | Протест. | |
---|---|---|---|---|---|---|---|---|---|
230434350 |
Дорешивание: racccccoon |
1485F - 25 | C++14 (GCC 6-32) | Полное решение | 124 мс | 8800 КБ | 2023-10-30 04:14:18 | 2023-10-30 04:14:18 |
// LUOGU_RID: 132397977 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=2e5+10,mod=1e9+7; int T,n,b[N];map<LL,int>dp; void work() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&b[i]); dp[b[1]]=1;int sum=1;LL offset=0; for(int i=2;i<=n;i++) { offset+=-b[i]; long long tmp=dp[b[i]+offset]; dp[b[i]+offset]=sum; (sum+= ((sum-tmp+mod)%mod))%=mod; } printf("%d\n",sum); } int main(){cin>>T;while(T--)work(),dp.clear();return 0;}
?
?
?
?