A
只有最后一位会奇偶性, 那么只需要判断最后一位是否为偶数即可
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define all(x) (x).begin(), (x).end()
const int mod = 1e9+7;#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define all(x) (x).begin(), (x).end()
const int mod = 1e9+7;
inline int read(){//读优。。。
int date=0,w=1;char c=0;
while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
return date*w;
}
inline int nxt() {
int x;
cin >> x;
return x;
}
//const int N = 2e5 + 10;
//ll nums[N];
#define rep(i,n) for(int i=0;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define Rep(i,sta,n) for(int i=sta;i<n;i++)
#define rep1(i,n) for(int i=1;i<=n;i++)
#define per1(i,n) for(int i=n;i>=1;i--)
#define Rep1(i,sta,n) for(int i=sta;i<=n;i++)
void solve() {
int n = nxt();
if(n % 2 == 0){
cout<<0;
return ;
}
int ans = 0;
while(n){
if(n % 2 == 0 )break;
else ans++;
n /= 10;
}cout<<ans;
}
int main()
{
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int T = 1;
//cin >> T;
while (T--) {
solve();
}
return 0;
}
B
偶数直接加, 奇数直接全加,然后减去最小的一个奇数就是答案
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define all(x) (x).begin(), (x).end()
const int mod = 1e9+7;
inline int read(){//读优。。。
int date=0,w=1;char c=0;
while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
return date*w;
}
inline int nxt() {
int x;
cin >> x;
return x;
}
//const int N = 2e5 + 10;
//ll nums[N];
#define rep(i,n) for(int i=0;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define Rep(i,sta,n) for(int i=sta;i<n;i++)
#define rep1(i,n) for(int i=1;i<=n;i++)
#define per1(i,n) for(int i=n;i>=1;i--)
#define Rep1(i,sta,n) for(int i=sta;i<=n;i++)
void solve() {
int n = nxt();
int ans = 0,cnt = 0,mi = 1e5;
while(n--){
int x;cin>>x;
ans += x;
if(x & 1){
cnt++;
mi = min(mi,x);
}
}if(cnt & 1)ans -= mi;
cout<<ans;
}
int main()
{
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int T = 1;
//cin >> T;
while (T--) {
solve();
}
return 0;
}