Pagini recente » Cod sursa (job #1878236) | Cod sursa (job #2344351) | Cod sursa (job #1242864) | Cod sursa (job #2136921) | Cod sursa (job #2874831)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("koba.in");
ofstream out("koba.out");
int freq[11][11][11];
vector <int> presum;
int main() {
int n, t1, t2, t3, ans = 0, o1 = 10, o2 = 10, o3 = 10;
in >> n >> t1 >> t2 >> t3;
t1 = t1 % 10;
t2 = t2 % 10;
t3 = t3 % 10;
presum.push_back(t1);
presum.push_back(t2 + t1);
presum.push_back(t3 + t2 + t1);
while(freq[t1][t2][t3] == 0){
freq[t1][t2][t3] = freq[o1][o2][o3] + 1;
o1 = t1;
o2 = t2;
o3 = t3;
int t4 = (t3 + (t1 * t2)) % 10;
t1 = t2;
t2 = t3;
t3 = t4;
presum.push_back(presum[presum.size() - 1] + t4);
}
out << freq[t1][t2][t3] << ' ' << t1 << ' ' << t2 << ' ' << t3 << '\n';
out << presum.size() << '\n';
out << presum[0] << ' ';
for(int i = 1;i < presum.size();i++){
out << presum[i] - presum[i - 1] << ' ';
}
out << '\n';
presum.pop_back();
presum.pop_back();
presum.pop_back();
if(n > presum.size()){
n -= presum.size() + 1;
int presumsize = presum.size() - freq[t1][t2][t3] + 1;
int ans = presum[presum.size() - 1] + (n / presumsize) * (presum[presum.size() - 1] - presum[freq[t1][t2][t3] - 1] + t1) + (presum[(n % presumsize) + freq[t1][t2][t3] - 1] - presum[freq[t1][t2][t3] - 1] + t1);
out << ans;
}else {
out << presum[n - 1];
}
return 0;
}