Submission #242621

#TimeUsernameProblemLanguageResultExecution timeMemory
242621SamAndModsum (NOI12_modsum)C++17
25 / 25
394 ms1272 KiB
#include <bits/stdc++.h> using namespace std; #define m_p make_pair #define all(x) (x).begin(),(x).end() #define sz(x) ((int)(x).size()) #define fi first #define se second typedef long long ll; mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); mt19937 rnf(2106); const int N = 1003, M = 102; int n; int l[N], r[N]; int dp[N * M]; int ndp[N * M]; void solv() { scanf("%d", &n); for (int i = 1; i <= n; ++i) scanf("%d%d", &l[i], &r[i]); dp[0] = 1; for (int i = 1; i <= n; ++i) { memset(ndp, 0, sizeof ndp); for (int j = 0; j < N * M; ++j) { if (!dp[j]) continue; ndp[j + l[i]] += dp[j]; ndp[j + r[i] + 1] -= dp[j]; } memcpy(dp, ndp, sizeof ndp); for (int j = 1; j < N * M; ++j) dp[j] += dp[j - 1]; } int ans = 0; for (int j = 0; j < N * M; ++j) { int u = (j * 1LL * j) % 5; u = (u * (u + 2)) % 5; ++u; ans += dp[j] * u; } printf("%d\n", ans); } int main() { #ifdef SOMETHING freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); #endif // SOMETHING //ios_base::sync_with_stdio(false), cin.tie(0); solv(); return 0; } //while ((double)clock() / CLOCKS_PER_SEC <= 0.9){}

Compilation message (stderr)

modsum.cpp: In function 'void solv()':
modsum.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
modsum.cpp:23:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &l[i], &r[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...