QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#496463 | #6810. Array Concatenation | 333zhan | WA | 8ms | 4792kb | C++20 | 2.0kb | 2024-07-28 10:49:30 | 2024-07-28 10:49:30 |
Judging History
answer
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 1E9 + 7;
inline int read () {
int w = 1, s = 0; char ch = getchar ();
for (; ! isdigit (ch); ch = getchar ()) if (ch == '-') w = -1;
for (; isdigit (ch); ch = getchar ()) s = (s << 1) + (s << 3) + (ch ^ 48);
return s * w;
}
int power (int x, int p) {
int ans = 1;
for (; p; p >>= 1) {
if (p & 1) ans = ans * x % mod;
x = x * x % mod;
}
return ans;
}
void solve () {
int n, m;
cin >> n >> m;
vector <int> a (n + 1);
for (int i = 1; i <= n; i ++) {
cin >> a[i];
}
auto b = a;
reverse (b.begin () + 1, b.end ());
int pre1 = 0, pre2 = 0;
for (int i = 1; i <= n; i ++) {
pre1 += a[i] * (n - i + 1);
pre2 += b[i] * (n - i + 1);
}
const int N = power (2, m - 1);
const int D = 2 * n;
auto work = [&] (int a1) {
return (a1 * N % mod - N * (N - 1) / 2 % mod * D % mod + mod) % mod;
};
int ans = 0;
if (pre1 > pre2) {
for (int i = 1; i <= n; i ++) {
ans += work ((N * D % mod - 2 * n + (n - i + 1) + mod) % mod) * a[i];
ans %= mod;
// cerr << ans << '\n';
ans += work ((N * D % mod - n + (n - i + 1) + mod) % mod) * a[i];
ans %= mod;
// cerr << ans << '\n';
}
} else {
for (int i = 1; i <= n; i ++) {
ans += work ((N * D % mod - 2 * n + (n - i + 1) + mod) % mod) * a[i];
ans %= mod;
// cerr << ans << '\n';
ans += work ((N * D % mod - n + i + mod) % mod) * a[i];
ans %= mod;
// cerr << ans << '\n';
}
}
cout << ans << '\n';
}
signed main () {
ios::sync_with_stdio (false);
cin.tie (nullptr);
int T = 1;
// cin >> T;
// T = read ();
while (T --) {
solve ();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3524kb
input:
2 1 1 2
output:
15
result:
ok single line: '15'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
5 10 26463 39326 86411 75307 85926
output:
806275469
result:
ok single line: '806275469'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3528kb
input:
3 10000 329770536 859936159 696111818
output:
325223749
result:
ok single line: '325223749'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
10 100000 910385778 832405357 79882277 740539785 58009121 361679935 208356273 191444931 327043571 40502864
output:
551220212
result:
ok single line: '551220212'
Test #5:
score: 0
Accepted
time: 8ms
memory: 4792kb
input:
99998 99999 424541359 970848132 124944765 190568793 218987145 439687684 674898132 26756266 495705287 999481800 123311748 808192729 480063991 282558300 432664601 480692564 771223766 592954167 648647039 80490877 501738111 3075724 426165921 557518328 209501102 786985447 129062653 705971029 763019010 16...
output:
371554090
result:
ok single line: '371554090'
Test #6:
score: 0
Accepted
time: 2ms
memory: 3572kb
input:
23854 89381 394875321 358990454 858102462 384724857 275727903 97926601 474697159 911286664 206848005 33299065 794156923 141542667 429367570 397169821 74508725 520716485 677478792 133016266 58719731 925502886 956794304 194692492 985435726 883349224 42102293 676396529 839744928 366681778 656265608 115...
output:
426677952
result:
ok single line: '426677952'
Test #7:
score: 0
Accepted
time: 7ms
memory: 4492kb
input:
83492 48249 70494500 885620970 315369497 739608603 637096477 10395600 246855095 506270453 443170180 577100499 577449412 138165292 246928155 689186056 498722336 790825887 594302101 414730621 572006760 546794452 98888789 727318449 857676435 114468371 676126291 935100863 178502984 187768465 696814401 6...
output:
510020598
result:
ok single line: '510020598'
Test #8:
score: 0
Accepted
time: 8ms
memory: 4684kb
input:
99824 43532 774340602 936278614 964709803 488385916 459911693 6573867 299867606 777690440 87564223 407397293 234189335 321895358 125495230 145168763 182375587 226125349 301825885 840410768 846358234 257084607 187826907 26856116 65896632 752477170 556078517 496528163 816563279 928793952 38603811 8858...
output:
263266590
result:
ok single line: '263266590'
Test #9:
score: -100
Wrong Answer
time: 8ms
memory: 4652kb
input:
100000 40 735211086 438848581 883369263 411520254 96701572 639546923 41849752 603158600 721918949 2491206 846495417 323507652 718479900 610177876 169869700 545169629 512881910 798460780 380319407 851809813 556619434 326106153 766145881 413339664 941433832 816866760 79378460 799224104 568687839 84804...
output:
33458924
result:
wrong answer 1st lines differ - expected: '306284744', found: '33458924'