Skip to content

Commit 7e13346

Browse files
committed
c++ code solution for subsequence
1 parent cbbb834 commit 7e13346

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

subsequence.cpp

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#include <bits/stdc++.h>
2+
using namespace std;
3+
4+
#define ll long long
5+
#define pi (3.141592653589)
6+
#define mod 1000000007
7+
#define ll long long
8+
#define float double
9+
#define pb push_back
10+
#define mp make_pair
11+
#define ss second
12+
#define min3(a, b, c) min(c, min(a, b))
13+
#define min4(a, b, c, d) min(d, min(c, min(a, b)))
14+
#define rrep(i, n) for(int i=n-1;i>=0;i--)
15+
#define rep(i,n) for(int i=0;i<n;i++)
16+
#define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
17+
18+
typedef vector<int> vi;
19+
typedef vector<pair<int, int>> vpi;
20+
typedef vector<ll> vl;
21+
#define all(aa) aa.begin(), aa.end()
22+
#define pb push_back
23+
24+
#define ff \
25+
ios_base::sync_with_stdio(false); \
26+
cin.tie(NULL); \
27+
cout.tie(NULL);
28+
29+
#define t \
30+
int test_cases; \
31+
cin >> test_cases; \
32+
while (test_cases--)
33+
34+
35+
int main()
36+
{
37+
ff
38+
39+
t{
40+
ll n, anurag = 0;
41+
cin >> n;
42+
vl aa, aa1, mohit;
43+
for (ll i = 0; i < n; i++)
44+
{
45+
ll a;
46+
cin >> a;
47+
48+
if (i % 2 == 0){
49+
aa.pb(a);
50+
}
51+
else{
52+
aa1.pb(a);
53+
}
54+
55+
}
56+
57+
sort(all(aa), greater<ll>());
58+
sort(all(aa1));
59+
60+
ll a = 0, b = 0;
61+
for (ll i = 0; i < n; i++)
62+
{
63+
if (i % 2 == 0)
64+
{
65+
mohit.pb(aa[a]);
66+
a++;
67+
}
68+
else
69+
{
70+
mohit.pb(aa1[b]);
71+
b++;
72+
}
73+
}
74+
75+
if (aa1.size() > 1)
76+
for (ll i = aa1.size() - 2; i >= 0; i--)
77+
{
78+
aa1[i] += aa1[i + 1];
79+
}
80+
81+
for (ll i = 0; i < aa.size() && i < aa1.size(); i++)
82+
{
83+
anurag += aa[i] * aa1[i];
84+
}
85+
86+
for (auto i : mohit)
87+
cout << i << " ";
88+
89+
cout << "\n" << anurag << "\n";
90+
}
91+
return 0;
92+
}

0 commit comments

Comments
 (0)