/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 bool isLeapYear(int y) { return ((y%4==0 && y%100!=0) || y%400==0); } bool isPrevious(int date, int month, int year, int pdate, int pmonth, int pyear) { if(date>1) { if(pdate+1==date && month==pmonth && year==pyear) return true; } else if(year==pyear+1 && month==1 && pmonth==12 && pdate==31) return true; else if(year==pyear && month==pmonth+1) { if(month==2 && pdate==31) return true; if(month==3 && pdate==28+isLeapYear(year)) return true; if(month==4 && pdate==31) return true; if(month==5 && pdate==30) return true; if(month==6 && pdate==31) return true; if(month==7 && pdate==30) return true; if(month==8 && pdate==31) return true; if(month==9 && pdate==31) return true; if(month==10 && pdate==30) return true; if(month==11 && pdate==31) return true; if(month==12 && pdate==30) return true; } return false; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n,kwh, date, pdate, month, pmonth, year, pyear, pkwh; string s; char ch; while(cin>>n && n) { int cnt=0, tot=0; for(int i=0;i<n;i++) { cin>>date>>month>>year>>kwh; if(i) { if(isPrevious(date, month, year, pdate, pmonth, pyear)) { cnt++, tot+=(kwh-pkwh); } } pdate=date, pmonth=month, pyear=year, pkwh=kwh; } cout<< cnt << " "<<tot<<"\n"; } return 0; }
Wednesday, 30 September 2015
UVA 12148 - Electricity (UVALive - 4214, SPOJ - SAMER08E, Regionals 2008 >> Latin America - South America)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment