Submission #22784

#TimeUsernameProblemLanguageResultExecution timeMemory
22784최숭실 (#40)Unifying Values (KRIII5_UV)C++14
0 / 7
93 ms2176 KiB
#include<iostream> #include<algorithm> #include<math.h> #define MOD 1000000007 using namespace std; long long int Data[10010]; long long int Sum[10010]; long long int ans; long long int m_pow(long long int a, long long int b) { long long int s = 1; for (long long int i = 0; i < b; i++) s *= a; return s; } int main() { long long int n; cin >> n; for (long long int i = 0; i < n; i++) { cin >> Data[i]; if (i == 0)Sum[i] = Data[i]; else Sum[i] = Sum[i - 1] + Data[i]; } long long int target = 0; for (long long int i = 0; i < n-1; i++) { target += Data[i]; if (target == 0 && (Sum[n - 1] - Sum[i]) != 0)continue; if ((Sum[n - 1] - Sum[i]) % target != 0)continue; long long int Zero = 0; long long int tmp_sum = 0; for (long long int j = i + 1; j < n; j++) { tmp_sum += Data[j]; if (tmp_sum == target) tmp_sum = 0; if (Data[j] == 0)Zero++; } if (tmp_sum != 0)continue; ans += m_pow(2, Zero); ans %= MOD; } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...