ポルCostelとAzerah
説明
Nでもさ、あなたの番号を与えるために、サブシーケンスの数をお聞きし、
例
入力2
3
3 10 1
2
4 2
出力3
3
トピックリンク
おぞましいです
freopenは( "azerah.in"、 "R"、STDIN)。
freopenは( "azerah.out"、 "W"、STDOUT)。
そうしないと、あなたは私が間違っているカード1時間追加されている必要があります
コードで直接見て、それはかなりの水
ACコード
書式#include <iostreamの> の#include <cstdioを> する#include <fstreamの> の#include <アルゴリズム> 書式#include <cmath> の#include <両端キュー> の#include <ベクトル> の#include <キュー> の#include < 文字列 > の#include <CStringの> #include <地図> の#include <スタック> の#include < 設定 > の#include <sstream提供> の#define IOS ios_base :: sync_with_stdio(0)。cin.tie(0)。 LL長い長 の#define 0x3f3f3f3f INF の#define MEM(X、Y)のmemset(X、Y、はsizeof(X)) の#define MAXN 1000010 使用して 名前空間STD。 LL T、N。 INT メイン() { freopenは(" azerah.in "、" R " 、STDIN)。 freopenは(" azerah.out "、" W " 、STDOUT)。 CIN >> T; 一方、(T-- ) { CIN >> N。 LLのx; LL N1= 0 ; // 奇数 LL N2 = 0 ; // 偶数 のための(I = LL 。1 ; I <= N; I ++は) { CIN >> X; IF(X%2 ) N1 ++ ; 他 N2 ++ ; } LL S1 = 1 ; // 偶数奇数のサブシーケンスの数^ 2 =(S1-1)-1 LL = S2 1。 ; // 偶数= 2 ^ S2-1における偶数の配列 // オーバーフローすることを恐れ、それはステップバイステップループます 用(LL i = 1 ; iは= N2 <; Iは++ ) { S1 * = 2 ; S1%= モッド。 } のための(LL i = 1 ; iは、N1 <; iは++ ) { S2 * = 2 ; S2%= モッド。 } S1 - 。 S2 - ; COUT <<(S1 + S2 + S1 * S2)%モッド<< ENDL。 } 戻り 0 。 }