题目:http://codeforces.com/contest/628/problem/B
代码:
#include<stdio.h>
#include<string.h>
#include<string>
#include<iostream>
using namespace std;
int main()
{
string a;
cin>>a;
__int64 ans=0;
for(int i=0;i<a.length();i++)
{
if((a[i]-'0')%4==0)
ans++;
if(((a[i-1]-'0')*10+a[i]-'0')%4==0&&i>0) //一定是a[i-1]和a[i]
ans=ans+i; //若是a[i]和a[i+1]在i=最后一位的时候a[i+1]='\0';
}
cout<<ans;
}